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.

Reply via email to