[ 新規に投稿する ]

秀丸エディタの読み上げ機能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_GetCursorPosUnicode)でネイティブに近いアクセスをすることが可能です。
[ ]
RE:00722 秀丸エディタの読み上げ機能No.00723
misono さん 24/06/27 15:44 [ コメントを投稿する ]
  現在のカーソル位置の文字を取得したいのですが、Hidemaru_GetLineTextUnicodeやHidemaru_GetCursorPosUnicodeだけではできないですよね。たとえば、左や右の矢印キーを動かすごとにカーソルの文字を取得したいです。unicharみたいなのですね。
[ ]
RE:00723 秀丸エディタの読み上げ機能No.00724
秀丸担当 さん 24/06/27 16:46 [ コメントを投稿する ]
  カーソル位置の一文字だけを取得する方法というのは無いので、Hidemaru_GetCursorPosUnicodeで位置を得てから、Hidemaru_GetLineTextUnicodeで文字列を得て、その桁位置のものを取得するという流れになると思います。

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

[ 新規に投稿する ]