Re: [Audyssey] BGT And Screen Readers And Unicode And More

2014-06-07 Thread Davy Kager
Awesome news, thanks!  Going to/from wchar_t pointers in BGT seems to be the 
only missing link now.  I'll be sure to test the rest of my code to make sure 
it is as Unicode-compatible as I am claiming. :)
No need to be in a big hurry, as I said my personal projects don't really 
involve games  This request is purely for a proof-of-concept bit of code, so I 
definitely appreciate the effort of implementing conversion functions.

Thanks,
Davy

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Philip Bennefall
Sent: Friday, June 06, 2014 22:14
To: Gamers Discussion list
Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

I'm glad you got it working! I've put the Unicode conversion functions on my 
todo list, and will get to it as soon as I have a bit of a gap in my schedule.

Kind regards,

Philip Bennefall
On 2014-06-05 20:53, Davy Kager wrote:
 Right, I successfully copy-pasted together a basic wrapper written for 
 BGT.  I want to keep things as one-on-one as possible, so I didn't 
 introduce private helper methods to get slightly more compact code.  
 Boolean type variables are a little tricky, I ended up internally 
 using uint8 for those.  Now all that remains is to convert from string 
 object to an array of ints and the other way around.  But apart from 
 that I can already query if the active screen reader supports speech 
 and/or braille output, so I consider it an evening well spent. :)

 -Original Message-
 From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Davy 
 Kager
 Sent: Thursday, June 05, 2014 14:33
 To: phi...@blastbay.com; 'Gamers Discussion list'
 Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

 Hi Philip,

 Thanks, all of that makes sense.  The main reason why I am firmly sticking to 
 Unicode is because different screen readers support different formats, but 
 they all appear to support Unicode.  I also feel that in this day and age, 
 providing both an ANSI and a Unicode version of the same function isn't the 
 way to go.  So for me it'd be the most convenient if BGT could gain a 
 mechanism to prepare a Unicode string.  This might find some use in other 
 people's applications too!  Passing int-pointers is no problem to me.  I want 
 to write a wrapper specifically so that third-party developers don't have to 
 worry about those nitty gritty details.

 In all honesty, I haven't done much testing with actual Unicode or UTF-8 data 
 yet.  Maybe my implementation is still failing somewhere too.  I originally 
 started working on it for a project that is totally unrelated to gaming.  
 Porting it to as many things as possible just seems a logical next step.  But 
 adding functionality (such as ANSI functions) to support one specific 
 programming language is taking it a little too far as long as I don't need it 
 myself.  In fact, QuentinC has a screen reader library (UniversalSpeech) 
 which already has ANSI functions, so for real developers out there that'd be 
 a good option.

 Now for adding screen readers to BGT...  Here is the official documentation 
 for the SuperNova API, which admittedly isn't very satisfying:
 http://www.yourdolphin.com/productdetail.asp?id=1z=14page=682#api
 Their API is more limited than most, but both synchronous and asynchronous 
 speech are available.

 ZoomText is a different story.  They have a very extensive COM implementation 
 much like Window-Eyes, but the company doesn't want to provide support for it 
 outside of their own scripting facilities.  It also requires a registry patch 
 to get it to work because their installer program forgets to set things up 
 properly.  I have reported this to them and they indicated they'd fix it at 
 some point.  Once you applied the patch it works great (from C++ at least), 
 but I'm not sure if it's suited for BGT.  Might be better to wait for their 
 developers to fix the installer so end-users don't have to apply patches 
 (which most users won't want to do anyway).

 Thanks,
 Davy

 -Original Message-
 From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Philip 
 Bennefall
 Sent: Thursday, June 05, 2014 13:48
 To: Gamers Discussion list
 Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

 Hi Davy,

 The foundation of BGT is Ansi, which is a sort of historical accident from 
 back when I first started the project. I did not envision it ever needing 
 Unicode because it was primarily meant to use audio and any printed text 
 would be mostly for debugging. There was no Sapi support planned at that 
 time, and screen readers were even further from my mind.
 This was in mid 2009. Were I designing it today, it would be a Unicode 
 application. With that said, there are definitely ways to solve it.

 Since BGT is Ansi, you can use UTF-8 strings without any trouble.
 Converting from UTF-8 to wide characters on Windows is trivial, so 
 that's a function that I could definitely 

Re: [Audyssey] BGT And Screen Readers And Unicode And More

2014-06-06 Thread Philip Bennefall
I'm glad you got it working! I've put the Unicode conversion functions 
on my todo list, and will get to it as soon as I have a bit of a gap in 
my schedule.


Kind regards,

Philip Bennefall
On 2014-06-05 20:53, Davy Kager wrote:

Right, I successfully copy-pasted together a basic wrapper written for BGT.  I 
want to keep things as one-on-one as possible, so I didn't introduce private 
helper methods to get slightly more compact code.  Boolean type variables are a 
little tricky, I ended up internally using uint8 for those.  Now all that 
remains is to convert from string object to an array of ints and the other way 
around.  But apart from that I can already query if the active screen reader 
supports speech and/or braille output, so I consider it an evening well spent. 
:)

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Davy Kager
Sent: Thursday, June 05, 2014 14:33
To: phi...@blastbay.com; 'Gamers Discussion list'
Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

Hi Philip,

Thanks, all of that makes sense.  The main reason why I am firmly sticking to 
Unicode is because different screen readers support different formats, but they 
all appear to support Unicode.  I also feel that in this day and age, providing 
both an ANSI and a Unicode version of the same function isn't the way to go.  
So for me it'd be the most convenient if BGT could gain a mechanism to prepare 
a Unicode string.  This might find some use in other people's applications too! 
 Passing int-pointers is no problem to me.  I want to write a wrapper 
specifically so that third-party developers don't have to worry about those 
nitty gritty details.

In all honesty, I haven't done much testing with actual Unicode or UTF-8 data 
yet.  Maybe my implementation is still failing somewhere too.  I originally 
started working on it for a project that is totally unrelated to gaming.  
Porting it to as many things as possible just seems a logical next step.  But 
adding functionality (such as ANSI functions) to support one specific 
programming language is taking it a little too far as long as I don't need it 
myself.  In fact, QuentinC has a screen reader library (UniversalSpeech) which 
already has ANSI functions, so for real developers out there that'd be a good 
option.

Now for adding screen readers to BGT...  Here is the official documentation for 
the SuperNova API, which admittedly isn't very satisfying:
http://www.yourdolphin.com/productdetail.asp?id=1z=14page=682#api
Their API is more limited than most, but both synchronous and asynchronous 
speech are available.

ZoomText is a different story.  They have a very extensive COM implementation much like 
Window-Eyes, but the company doesn't want to provide support for it outside of their own 
scripting facilities.  It also requires a registry patch to get it to work because their 
installer program forgets to set things up properly.  I have reported this to 
them and they indicated they'd fix it at some point.  Once you applied the patch it works 
great (from C++ at least), but I'm not sure if it's suited for BGT.  Might be better to 
wait for their developers to fix the installer so end-users don't have to apply patches 
(which most users won't want to do anyway).

Thanks,
Davy

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Philip Bennefall
Sent: Thursday, June 05, 2014 13:48
To: Gamers Discussion list
Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

Hi Davy,

The foundation of BGT is Ansi, which is a sort of historical accident from back 
when I first started the project. I did not envision it ever needing Unicode 
because it was primarily meant to use audio and any printed text would be 
mostly for debugging. There was no Sapi support planned at that time, and 
screen readers were even further from my mind.
This was in mid 2009. Were I designing it today, it would be a Unicode 
application. With that said, there are definitely ways to solve it.

Since BGT is Ansi, you can use UTF-8 strings without any trouble.
Converting from UTF-8 to wide characters on Windows is trivial, so that's a 
function that I could definitely introduce. As far as the dll interface is 
concerned you'd just be passing an int* pointer whenever a wide character 
string was needed. Alternatively you could introduce
UTF-8 conversion support to your own dll, which would be a nice convenience 
feature I'd say.

I am certainly not opposed to adding native support for more screen readers if 
there is enough interest. Have you got any links to official references, 
redistribution terms for the dll's if any, etc? If so I would be more than 
happy to look into it.

Kind regards,

Philip Bennefall
On 2014-06-05 10:02, Davy Kager wrote:

Hi,



NOTE: this post is sort of way too nerdy for this list, but I thought I’d send 
it anyway, for the wanna-be coder’s general delight.



Now that BGT is FREE I 

[Audyssey] BGT And Screen Readers And Unicode And More

2014-06-05 Thread Davy Kager
Hi,

 

NOTE: this post is sort of way too nerdy for this list, but I thought I’d send 
it anyway, for the wanna-be coder’s general delight.

 

Now that BGT is FREE I thought I’d try and see if I could write a wrapper for 
my screen reader abstraction library so that my screen reader of choice 
(SuperNova) could be supported by games written using this toolkit.  I also 
like having as many wrappers as possible for my library, to make people’s lives 
easier if they use something that isn’t C++.  So trying out BGT sounded like a 
good idea to spend a Thursday morning.  Anyway, turns out BGT is into ANSI 
where strings are concerned.  So naturally I have some questions:

-  Is there a way to call external DLLs that use Unicode strings (which 
is what Windows has been doing for a real long time).

-  If not, is there any chance BGT can gain native support for 
SuperNova and maybe also ZoomText?

 

Opensourcing the thing sounds like a fun idea, though I see several issues with 
that too and don’t intend on starting that debate here and now.  Just wondered 
if there’s a way to deal with Unicode strings that doesn’t involve depriving 
Philip of a few hours of sleep.  Using int or long might work, but then still 
you’d need to convert these into a string object, and those are ANSI so they’ll 
pout at you real bad and then bluntly refuse.

 

Note that I use Java myself, and not necessarily for games, so this is not a 
message saying “HELP GUYS I AM STUCK AND ABSOLUTELY NEED TO GET THIS RESOLVED 
OR ELSE I CANNOT WRITE MY GAME!!!”  I just want to provide as many wrappers for 
my DLL as I can without overdoing it, and BGT is definitely a big thing in the 
blind gamers community.  That reminds me, I should probably try to do AutoIt 
too.  Anyone know if that allows you to call DLLs in a non-evil way?

 

Thanks,

Davy

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] BGT And Screen Readers And Unicode And More

2014-06-05 Thread Davy Kager
Right, figured out the AutoIt part: it's possible and seems to work well.  
Right now, where games are concerned, I'm only missing BGT.

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Davy Kager
Sent: Thursday, June 05, 2014 10:02
To: 'Gamers Discussion list'
Subject: [Audyssey] BGT And Screen Readers And Unicode And More

Hi,

 

NOTE: this post is sort of way too nerdy for this list, but I thought I’d send 
it anyway, for the wanna-be coder’s general delight.

 

Now that BGT is FREE I thought I’d try and see if I could write a wrapper for 
my screen reader abstraction library so that my screen reader of choice 
(SuperNova) could be supported by games written using this toolkit.  I also 
like having as many wrappers as possible for my library, to make people’s lives 
easier if they use something that isn’t C++.  So trying out BGT sounded like a 
good idea to spend a Thursday morning.  Anyway, turns out BGT is into ANSI 
where strings are concerned.  So naturally I have some questions:

-  Is there a way to call external DLLs that use Unicode strings (which 
is what Windows has been doing for a real long time).

-  If not, is there any chance BGT can gain native support for 
SuperNova and maybe also ZoomText?

 

Opensourcing the thing sounds like a fun idea, though I see several issues with 
that too and don’t intend on starting that debate here and now.  Just wondered 
if there’s a way to deal with Unicode strings that doesn’t involve depriving 
Philip of a few hours of sleep.  Using int or long might work, but then still 
you’d need to convert these into a string object, and those are ANSI so they’ll 
pout at you real bad and then bluntly refuse.

 

Note that I use Java myself, and not necessarily for games, so this is not a 
message saying “HELP GUYS I AM STUCK AND ABSOLUTELY NEED TO GET THIS RESOLVED 
OR ELSE I CANNOT WRITE MY GAME!!!”  I just want to provide as many wrappers for 
my DLL as I can without overdoing it, and BGT is definitely a big thing in the 
blind gamers community.  That reminds me, I should probably try to do AutoIt 
too.  Anyone know if that allows you to call DLLs in a non-evil way?

 

Thanks,

Davy

---
Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send 
E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at 
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at 
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list, 
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] BGT And Screen Readers And Unicode And More

2014-06-05 Thread Philip Bennefall

Hi Davy,

The foundation of BGT is Ansi, which is a sort of historical accident 
from back when I first started the project. I did not envision it ever 
needing Unicode because it was primarily meant to use audio and any 
printed text would be mostly for debugging. There was no Sapi support 
planned at that time, and screen readers were even further from my mind. 
This was in mid 2009. Were I designing it today, it would be a Unicode 
application. With that said, there are definitely ways to solve it.


Since BGT is Ansi, you can use UTF-8 strings without any trouble. 
Converting from UTF-8 to wide characters on Windows is trivial, so 
that's a function that I could definitely introduce. As far as the dll 
interface is concerned you'd just be passing an int* pointer whenever a 
wide character string was needed. Alternatively you could introduce 
UTF-8 conversion support to your own dll, which would be a nice 
convenience feature I'd say.


I am certainly not opposed to adding native support for more screen 
readers if there is enough interest. Have you got any links to official 
references, redistribution terms for the dll's if any, etc? If so I 
would be more than happy to look into it.


Kind regards,

Philip Bennefall
On 2014-06-05 10:02, Davy Kager wrote:

Hi,

  


NOTE: this post is sort of way too nerdy for this list, but I thought I’d send 
it anyway, for the wanna-be coder’s general delight.

  


Now that BGT is FREE I thought I’d try and see if I could write a wrapper for 
my screen reader abstraction library so that my screen reader of choice 
(SuperNova) could be supported by games written using this toolkit.  I also 
like having as many wrappers as possible for my library, to make people’s lives 
easier if they use something that isn’t C++.  So trying out BGT sounded like a 
good idea to spend a Thursday morning.  Anyway, turns out BGT is into ANSI 
where strings are concerned.  So naturally I have some questions:

-  Is there a way to call external DLLs that use Unicode strings (which 
is what Windows has been doing for a real long time).

-  If not, is there any chance BGT can gain native support for 
SuperNova and maybe also ZoomText?

  


Opensourcing the thing sounds like a fun idea, though I see several issues with 
that too and don’t intend on starting that debate here and now.  Just wondered 
if there’s a way to deal with Unicode strings that doesn’t involve depriving 
Philip of a few hours of sleep.  Using int or long might work, but then still 
you’d need to convert these into a string object, and those are ANSI so they’ll 
pout at you real bad and then bluntly refuse.

  


Note that I use Java myself, and not necessarily for games, so this is not a 
message saying “HELP GUYS I AM STUCK AND ABSOLUTELY NEED TO GET THIS RESOLVED 
OR ELSE I CANNOT WRITE MY GAME!!!”  I just want to provide as many wrappers for 
my DLL as I can without overdoing it, and BGT is definitely a big thing in the 
blind gamers community.  That reminds me, I should probably try to do AutoIt 
too.  Anyone know if that allows you to call DLLs in a non-evil way?

  


Thanks,

Davy

---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.



---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] BGT And Screen Readers And Unicode And More

2014-06-05 Thread Davy Kager
Hi Philip,

Thanks, all of that makes sense.  The main reason why I am firmly sticking to 
Unicode is because different screen readers support different formats, but they 
all appear to support Unicode.  I also feel that in this day and age, providing 
both an ANSI and a Unicode version of the same function isn't the way to go.  
So for me it'd be the most convenient if BGT could gain a mechanism to prepare 
a Unicode string.  This might find some use in other people's applications too! 
 Passing int-pointers is no problem to me.  I want to write a wrapper 
specifically so that third-party developers don't have to worry about those 
nitty gritty details.

In all honesty, I haven't done much testing with actual Unicode or UTF-8 data 
yet.  Maybe my implementation is still failing somewhere too.  I originally 
started working on it for a project that is totally unrelated to gaming.  
Porting it to as many things as possible just seems a logical next step.  But 
adding functionality (such as ANSI functions) to support one specific 
programming language is taking it a little too far as long as I don't need it 
myself.  In fact, QuentinC has a screen reader library (UniversalSpeech) which 
already has ANSI functions, so for real developers out there that'd be a good 
option.

Now for adding screen readers to BGT...  Here is the official documentation for 
the SuperNova API, which admittedly isn't very satisfying:
http://www.yourdolphin.com/productdetail.asp?id=1z=14page=682#api
Their API is more limited than most, but both synchronous and asynchronous 
speech are available.

ZoomText is a different story.  They have a very extensive COM implementation 
much like Window-Eyes, but the company doesn't want to provide support for it 
outside of their own scripting facilities.  It also requires a registry patch 
to get it to work because their installer program forgets to set things up 
properly.  I have reported this to them and they indicated they'd fix it at 
some point.  Once you applied the patch it works great (from C++ at least), but 
I'm not sure if it's suited for BGT.  Might be better to wait for their 
developers to fix the installer so end-users don't have to apply patches (which 
most users won't want to do anyway).

Thanks,
Davy

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Philip Bennefall
Sent: Thursday, June 05, 2014 13:48
To: Gamers Discussion list
Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

Hi Davy,

The foundation of BGT is Ansi, which is a sort of historical accident from back 
when I first started the project. I did not envision it ever needing Unicode 
because it was primarily meant to use audio and any printed text would be 
mostly for debugging. There was no Sapi support planned at that time, and 
screen readers were even further from my mind. 
This was in mid 2009. Were I designing it today, it would be a Unicode 
application. With that said, there are definitely ways to solve it.

Since BGT is Ansi, you can use UTF-8 strings without any trouble. 
Converting from UTF-8 to wide characters on Windows is trivial, so that's a 
function that I could definitely introduce. As far as the dll interface is 
concerned you'd just be passing an int* pointer whenever a wide character 
string was needed. Alternatively you could introduce
UTF-8 conversion support to your own dll, which would be a nice convenience 
feature I'd say.

I am certainly not opposed to adding native support for more screen readers if 
there is enough interest. Have you got any links to official references, 
redistribution terms for the dll's if any, etc? If so I would be more than 
happy to look into it.

Kind regards,

Philip Bennefall
On 2014-06-05 10:02, Davy Kager wrote:
 Hi,

   

 NOTE: this post is sort of way too nerdy for this list, but I thought I’d 
 send it anyway, for the wanna-be coder’s general delight.

   

 Now that BGT is FREE I thought I’d try and see if I could write a wrapper for 
 my screen reader abstraction library so that my screen reader of choice 
 (SuperNova) could be supported by games written using this toolkit.  I also 
 like having as many wrappers as possible for my library, to make people’s 
 lives easier if they use something that isn’t C++.  So trying out BGT sounded 
 like a good idea to spend a Thursday morning.  Anyway, turns out BGT is into 
 ANSI where strings are concerned.  So naturally I have some questions:

 -  Is there a way to call external DLLs that use Unicode strings 
 (which is what Windows has been doing for a real long time).

 -  If not, is there any chance BGT can gain native support for 
 SuperNova and maybe also ZoomText?

   

 Opensourcing the thing sounds like a fun idea, though I see several issues 
 with that too and don’t intend on starting that debate here and now.  Just 
 wondered if there’s a way to deal with Unicode strings that doesn’t involve 
 depriving Philip of a few hours 

Re: [Audyssey] BGT And Screen Readers And Unicode And More

2014-06-05 Thread john

Check out the library object. Its apparently sort of in beta, but it should 
give you what you want.

P.S:
I've never used the object myself, so take the above with a grain of salt.

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Davy Kager
Sent: Thursday, June 05, 2014 10:02
To: 'Gamers Discussion list'
Subject: [Audyssey] BGT And Screen Readers And Unicode And More

Hi,



NOTE: this post is sort of way too nerdy for this list, but I thought I�€셝 send 
it anyway, for the wanna-be coder�€셲 general delight.



Now that BGT is FREE I thought I�€셝 try and see if I could write a wrapper for my screen reader abstraction library so that my screen reader of choice (SuperNova) could be supported by games written using this toolkit.  I also like having as many 
wrappers as possible for my library, to make people�€셲 lives easier if they use something that isn�€셳 C++.  So trying out BGT sounded like a good idea to spend a Thursday morning.  Anyway, turns out BGT is into ANSI where strings are concerned.  So 
naturally I have some questions:


-  Is there a way to call external DLLs that use Unicode strings (which 
is what Windows has been doing for a real long time).

-  If not, is there any chance BGT can gain native support for 
SuperNova and maybe also ZoomText?



Opensourcing the thing sounds like a fun idea, though I see several issues with that too and don�€셳 intend on starting that debate here and now.  Just wondered if there�€셲 a way to deal with Unicode strings that doesn�€셳 involve depriving Philip 
of a few hours of sleep.  Using int or long might work, but then still you�€셝 need to convert these into a string object, and those are ANSI so they�€셪l pout at you real bad and then bluntly refuse.




Note that I use Java myself, and not necessarily for games, so this is not a message saying �€쏦ELP GUYS I AM STUCK AND ABSOLUTELY NEED TO GET THIS RESOLVED OR ELSE I CANNOT WRITE MY GAME!!!�€�  I just want to provide as many wrappers for my DLL as I 
can without overdoing it, and BGT is definitely a big thing in the blind gamers community.  That reminds me, I should probably try to do AutoIt too.  Anyone know if that allows you to call DLLs in a non-evil way?




Thanks,

Davy

---
Gamers mailing list __ Gamers@audyssey.org If you want to leave the list, send 
E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at 
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at 
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list, 
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


---
Gamers mailing list __ Gamers@audyssey.org
If you want to leave the list, send E-mail to gamers-unsubscr...@audyssey.org.
You can make changes or update your subscription via the web, at
http://audyssey.org/mailman/listinfo/gamers_audyssey.org.
All messages are archived and can be searched and read at
http://www.mail-archive.com/gamers@audyssey.org.
If you have any questions or concerns regarding the management of the list,
please send E-mail to gamers-ow...@audyssey.org.


Re: [Audyssey] BGT And Screen Readers And Unicode And More

2014-06-05 Thread Davy Kager
Right, I successfully copy-pasted together a basic wrapper written for BGT.  I 
want to keep things as one-on-one as possible, so I didn't introduce private 
helper methods to get slightly more compact code.  Boolean type variables are a 
little tricky, I ended up internally using uint8 for those.  Now all that 
remains is to convert from string object to an array of ints and the other way 
around.  But apart from that I can already query if the active screen reader 
supports speech and/or braille output, so I consider it an evening well spent. 
:)

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Davy Kager
Sent: Thursday, June 05, 2014 14:33
To: phi...@blastbay.com; 'Gamers Discussion list'
Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

Hi Philip,

Thanks, all of that makes sense.  The main reason why I am firmly sticking to 
Unicode is because different screen readers support different formats, but they 
all appear to support Unicode.  I also feel that in this day and age, providing 
both an ANSI and a Unicode version of the same function isn't the way to go.  
So for me it'd be the most convenient if BGT could gain a mechanism to prepare 
a Unicode string.  This might find some use in other people's applications too! 
 Passing int-pointers is no problem to me.  I want to write a wrapper 
specifically so that third-party developers don't have to worry about those 
nitty gritty details.

In all honesty, I haven't done much testing with actual Unicode or UTF-8 data 
yet.  Maybe my implementation is still failing somewhere too.  I originally 
started working on it for a project that is totally unrelated to gaming.  
Porting it to as many things as possible just seems a logical next step.  But 
adding functionality (such as ANSI functions) to support one specific 
programming language is taking it a little too far as long as I don't need it 
myself.  In fact, QuentinC has a screen reader library (UniversalSpeech) which 
already has ANSI functions, so for real developers out there that'd be a good 
option.

Now for adding screen readers to BGT...  Here is the official documentation for 
the SuperNova API, which admittedly isn't very satisfying:
http://www.yourdolphin.com/productdetail.asp?id=1z=14page=682#api
Their API is more limited than most, but both synchronous and asynchronous 
speech are available.

ZoomText is a different story.  They have a very extensive COM implementation 
much like Window-Eyes, but the company doesn't want to provide support for it 
outside of their own scripting facilities.  It also requires a registry patch 
to get it to work because their installer program forgets to set things up 
properly.  I have reported this to them and they indicated they'd fix it at 
some point.  Once you applied the patch it works great (from C++ at least), but 
I'm not sure if it's suited for BGT.  Might be better to wait for their 
developers to fix the installer so end-users don't have to apply patches (which 
most users won't want to do anyway).

Thanks,
Davy

-Original Message-
From: Gamers [mailto:gamers-boun...@audyssey.org] On Behalf Of Philip Bennefall
Sent: Thursday, June 05, 2014 13:48
To: Gamers Discussion list
Subject: Re: [Audyssey] BGT And Screen Readers And Unicode And More

Hi Davy,

The foundation of BGT is Ansi, which is a sort of historical accident from back 
when I first started the project. I did not envision it ever needing Unicode 
because it was primarily meant to use audio and any printed text would be 
mostly for debugging. There was no Sapi support planned at that time, and 
screen readers were even further from my mind. 
This was in mid 2009. Were I designing it today, it would be a Unicode 
application. With that said, there are definitely ways to solve it.

Since BGT is Ansi, you can use UTF-8 strings without any trouble. 
Converting from UTF-8 to wide characters on Windows is trivial, so that's a 
function that I could definitely introduce. As far as the dll interface is 
concerned you'd just be passing an int* pointer whenever a wide character 
string was needed. Alternatively you could introduce
UTF-8 conversion support to your own dll, which would be a nice convenience 
feature I'd say.

I am certainly not opposed to adding native support for more screen readers if 
there is enough interest. Have you got any links to official references, 
redistribution terms for the dll's if any, etc? If so I would be more than 
happy to look into it.

Kind regards,

Philip Bennefall
On 2014-06-05 10:02, Davy Kager wrote:
 Hi,

   

 NOTE: this post is sort of way too nerdy for this list, but I thought I’d 
 send it anyway, for the wanna-be coder’s general delight.

   

 Now that BGT is FREE I thought I’d try and see if I could write a wrapper for 
 my screen reader abstraction library so that my screen reader of choice 
 (SuperNova) could be supported by games written using this toolkit.  I also 
 like having