[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:453]For visual sense handicapped people, temporal measures
- X-ml-count: 453
- Subject: [MD:453]For visual sense handicapped people, temporal measures
- From: Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: 25 Jan 1998 02:09:11 -0800
- X-mailer: Semi-gnus 6.0.3 (based on Quassia Gnus v0.22)
Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx> writes:
> まあ、通常はDynamic Loadingでやった方がいいでしょうね。
> もちろん、ユーザーが自分でDLLを書いて行うことが出来ます。
>
> > 日本語windows95スクリーンリーダである95Reader(日本障害者職業総合セン
> > ター)は、プログラム作成者のために以下のような関数を提供しています。
> >
> > BOOL WINAPI SoundMessage (LPCSTR, int);
> > BOOL WINAPI dic_regist (VOID);
> > BOOL WINAPI dic_regist_detail (VOID);
> > BOOL WINAPI dic_reg_from_file (VOID);
> > BOOL WINAPI dic_text_out (VOID);
> >
> > このうち、SoundMessage() は、しゃべってほしい文字列へのポインタと読
> > み上げモード指定(なめらか読み、1文字詳細読みなど)を与えて、任意の文
> > 字列を発声させることができます。wz editorでは、この関数を使って音声化
> > を行っています。
>
> なるほど。Export Libraryは用意されているんですよね?
> 95readerとやらは、どこで手に入るのですか
>
> こういうものが使えるのなら、WM_TEXTをだます必要はないですね。
> さっきの計画は止めましょう。汎用性もなさそうですし。
検索エンジンでちょろっと探してみると確かに見つかりますね。
この中のsoundp.h, soundp.libがあれば、開発できるでしょう。
多分、soundp.dllをLoadLibraryして、上の関数を呼び出せばいいだけだと思う。
## それにしても、別に95Readerを私は持ってないし、
## サポートする義理はないような気がしてきたので、
## サンプルとして、「東芝音声システム」なるものでサポートしてみましょうか?
#### たまたま手元にあるのでした。^^;;;;
まあ、どっちにしろ、読み上げって、実際にはWindowsに将来的には組み込まれる
のでしょうね。そうなると、そっちをサポートした方が遥かに効率的ですね。
## 手元にサンプルソースがあるな。
しかし、それじゃあ、今困っている人が浮かばれんので、
ちょっとこんなEmacs Lispを思い付きました。
井上さん。これでポインタの文字がよめますか?
読めるんなら、これで後はほかの人が幸せになるように
お好みで体裁を調えてください。私が後は適当に処理します。
使い方は分かりますよね。point-char-to-title-stringを適当に
global-set-keyしてください。読み上げのタイミングはどのように制御しているのか
私にはわからないので、お困りでしたら、詳しいことを教えてください。
(defun set-string-to-title-string (string)
(modify-frame-parameters (selected-frame)
(list
(cons 'name
string))))
(defun region-to-title-string (begin end)
(interactive "r")
(set-string-to-title-string
(buffer-substring begin end)))
(defun point-char-to-title-string (point)
(interactive "d")
(set-string-to-title-string
(char-to-string
(char-after point))))
(defun point-word-to-title-string (point)
(interactive "d")
(save-excursion
(let (begin end)
(forward-word 1)
(setq begin (point))
(backward-word 1)
(setq end (point))
(region-to-title-string begin end))))
From himi