[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
日本語1文字読み
- To: bep@argv.org
- Subject: 日本語1文字読み
- From: shirafuji@mail.com (Hideki Shirafuji)
- Date: Wed, 09 Aug 2000 20:27:45 +0900
- Delivered-To: mailing list bep@argv.org
- Mailing-List: contact bep-help@argv.org; run by ezmlm
白藤です。
まとめて失礼します。
実行環境
OS : Windows 2000 (Pentium 3 600M Hz, 256M Bytes)
Sound Card : SoundBlaster Live! BS
日本語TTS : ProTALKER97 SAPI Server Version 2.0
Meadow : 1.10
bep.zip : 08/05 Webから取得
Speak.exe : 08/08 CVSよりソース取得
# 開発が速いので、書いた方がかみ合いやすいかな?
seiken wrote
>切明です。うちだけかなぁ。
>
>日本語を確定したときに英語のエンジンがなにか不思議なことをのたまいます。
>バックスペースで消したときみたいなことをのたまっています。
Ctrl-| で起動した場合、切明さんのと同じ動作です。
Alt-「半角/全角」キーで FEP を起動した場合、何も言いません。
変換結果が1文字読みで1文字ずつSpeak.exeに送られているので、
backspace の読みが直れば同時に直りそうです。
takayuki wrote
>渡辺@湘南工科大です。
>
>とりあえずSpeak.exeの今のソースをCVSにおきました。
>日本語を削除するとき読み上げないバグはまだ直っていません。
Ctrl-D/del key 詳細読み(日本語 OK)
backward-delete-char-untabify/backspace 1文字読み(日本語だめ)
Ctrl-K 行読み(日本語 OK)
に(私の所では)なっています。
bep 側で backspace も詳細読みにできませんかね?
とりあえず逃げるなら、Speak.exe の mainFrm.cpp を
137,139c137,148
< m_pVM->say_letter(c);
< p +=5;
<
---
> if ( IsDBCSLeadByte(*(p+3)) ) {
> p += 3;
> m_pVM->queue(*p++);
> m_pVM->queue(*p++);
> //m_pVM->queue(' ');
> p++;
> m_pVM->start_queue();
> // it means p+= 6;
> } else {
> m_pVM->say_letter(c);
> p +=5;
> }
というのもあります。とりあえず日本語しゃべります。
1文字読みを日本語の場合だけ行読みに強引にしてます。
# この方法では、漢字変換の時など複数来たときに、
# 前の読みがすべって最後の1文字のみ読みます。
// Name : Hideki Shirafuji
//
// mailto:shirafuji@mail.com