Message-ID: <3B55EB82.883CBB34@csi.com>
Date: Wed, 18 Jul 2001 16:03:14 -0400
From: John Colagioia <JColagioia@csi.com>
Organization: No Conspiracy Here...
X-Mailer: Mozilla 4.77 [en] (Win98; U)
X-Accept-Language: en,fr,ru,es,it,ga,de,ja,gd,eu
MIME-Version: 1.0
Newsgroups: rec.games.int-fiction,rec.arts.int-fiction
Subject: Re: Z-machine for the visually impaired
References: <01c10eb3$87734d60$7368fc3e@x>
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
NNTP-Posting-Host: 208.34.37.104
X-Original-NNTP-Posting-Host: 208.34.37.104
X-Trace: excalibur.gbmtech.net 995486239 208.34.37.104 (18 Jul 2001 15:57:19 EST)
Lines: 61
X-Authenticated-User: jnc
X-Original-NNTP-Posting-Host: 127.0.0.1
Path: news.duke.edu!newsgate.duke.edu!nntp-out.monmouth.com!newspeer.monmouth.com!news.maxwell.syr.edu!newsfeed1.cidera.com!news-reader.ntrnet.net!uunet!ash.uu.net!excalibur.gbmtech.net
Xref: news.duke.edu rec.games.int-fiction:64357 rec.arts.int-fiction:89912

Jeremy Smith wrote:
[...]

> If anyone is interested in helping me make a visually impaired-friendly
> Z-machine interpreter (it can run under Windows, not many visually impaired
> people use DOS these days, as the screen reader's aren't so good as in
> Windows), I can help. I have some ideas:

A temporary, albeit extremely hackish fix might be:
1.  Start a transcript of gameplay. (> SCRIPT)
2.  Go to a handy-dandy DOS window, and (after downloading some UNIX-like tools) run
"tail -t whatever.scr" where "whatever.scr," of course, is the name of your
transcript file.
At this point, you now have a window (albeit a DOS window) with a "teletype"
interface, which is, presumably, pretty darn easy to read from, in whatever way you
want.

Mind you, I don't have a screen-reading program around, so I haven't actually tried
this...no, that's a cop-out.  "Read Please" is good, you say?  I'll give it a shot.

Grrr...Nope.  That won't work.  It doesn't read from a window, and won't open an
already-opened file.  However, this might still be a good starting point.  If you can
find a file reader that'll read off any updates to the file (or one that reads from
input), then some minor hacking in C with pipes might just do the trick.


>         *Clear the screen before printing out a message (any message) - this way
> the text is spoken as it pops up, rather than the whole page.

The only problem I can see that this might cause is that each message tends to be
made up of multiple "print statements," at the ZCode level, if not the source code,
itself.  Unless it's done "correctly" (I might be more inclined to clear the screen
on user input, though I'm sure that introduces new problems), you might only hear the
final fragment of any given message.


>         *Get an existing interpreter, and copy the text to the clipboard, and run
> a free text reader that reads from the clipboard (Readplease is good).

Actually...hang on a second...

One could, in theory, write a program to read from the transcript file and post
WM_CHAR Windows messages to the reader application.  Some quick experimentation, in
fact, tells me that you can open the transcript, seek to the appropriate position,
read, and close the file continuously, without (apparently) interrupting the other
process (whereas, straight reading apparently does, for reasons I can't quite figure,
yet).

One can (before this) search the Windows Z-Order for the target window,
and...Hmmm...I can't seem to get the message there.  Or, rather, the message arrives
(and SendMessage() returns), but nothing useful seems to happen.  Grrr...I guess
there are quite a few applications which don't accept WM_CHAR messages.  Weird.

In any case, it wouldn't take much to post this stuff to the Clipboard, instead
(SetClipboardData() is the function, basically), but I'm not going to have any time
to play.  If anyone wants the hack I've written to this point, though, I'll gladly
pass it on as a stopgap or "prototype" solution.

[...]


