秀丸エディタの読み上げ機能No.00721
misono さん 24/06/12 13:38
 
先日メールで問い合わせしたのですが返信が無かったためこちらに書き込みます。

秀丸エディタの動作環境→読み上げで編集領域をオンするとMSAAに対して、上下・左
右矢印キーで行単位の読み上げができるようになっていますが、上下矢印キーでは行
単位に、左右矢印キーでは文字単位のようにしていただけないでしょうか。

当方、NVDAの開発に携わっており、MSAAを介して秀丸エディタの読み上げを実現した
いと考えています。
なお、秀丸リーダーは良く存じ上げているのと、関連のマクロ等を自分で開発してい
る物です。

[ ]
RE:00721 秀丸エディタの読み上げ機能No.00722
秀丸担当 さん 24/06/12 17:23
 
メールでの続きの質問を見逃していました。失礼しました。
MSAA対応は確かに行単位までになっています。
ずっと昔に対応しようとしたのですが、難しくて断念した覚えがあります。
もう一度見てみようと思いますが、簡単ではないと思います。
当時調べていた時にFirefoxの開発者のブログか何かで、これはやってられないわみ
たいな記事があって、まあそうなんだろうなと思った記憶があります。(これだった
か?https://www-archive.mozilla.org/access/windows/msaa-server )
でも今Firefox見たらWindowsのナレーターではそこそこ対応しているようでした。

また、既にご存知の通り、秀丸リーダーでいろいろ可能なのと、メールでも回答させ
ていただきましたが、DLL向けの関数(Hidemaru_GetLineTextUnicodeやHidemaru_Get
CursorPosUnicode)でネイティブに近いアクセスをすることが可能です。

[ ]
RE:00722 秀丸エディタの読み上げ機能No.00723
misono さん 24/06/27 15:44
 
現在のカーソル位置の文字を取得したいのですが、Hidemaru_GetLineTextUnicodeやH
idemaru_GetCursorPosUnicodeだけではできないですよね。たとえば、左や右の矢印
キーを動かすごとにカーソルの文字を取得したいです。unicharみたいなのですね。

[ ]
RE:00723 秀丸エディタの読み上げ機能No.00724
秀丸担当 さん 24/06/27 16:46
 
カーソル位置の一文字だけを取得する方法というのは無いので、Hidemaru_GetCursor
PosUnicodeで位置を得てから、Hidemaru_GetLineTextUnicodeで文字列を得て、その
桁位置のものを取得するという流れになると思います。

カーソル位置の一文字くらいはあってもいいかもしれないですが、Hidemaru_*の関数
はほぼ互換性のために残されている感じになっていて、できたらこれ以上の拡張はし
たくないところです。

[ ]