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.