現在カーソルあるところから、「。」までNo.27340
これるり さん 09/12/16 04:06
 
こんにちは。


ひらがなで固定入力したあと、変換する(再変換する)ということを考えています。
つまり、ひらがなだけの文章つくって、をあとで漢字仮名交じり文に変換するという
ことです。
そこで、検索して、再変換モジュールというのを見つけました。再変換モジュールを
使うと、うまく再変換することができました。

使用環境は、以下の通りです。
Windows Vista Home エディション (32bits版)
IMEはATOK2008。
秀丸エディタのバージョンは8.00 Beta25

秀丸エディタのバージョンが8.00だから、うまくできたのか、再変換モジュールを入
れたからうまくできたのかわかりません。
再変換モジュールのところの、作者様と質問者様のやりとりが、あまりよくわからな
いのですが、私がほしいマクロは、以下のようなマクロです。

1 現在カーソルあるところから、「。」あるいは「?(全角)」あるいは「!(全
角)」があるところまでを選択。
2 再変換の機能を呼び出す。
3 ユーザーが再変換して、確定するのを待つ
4 次の文章の先頭にカーソルを移動して、次の「。」あるいは「?(全角)」ある
いは「!(全角)」までを選択。(次の文章の先頭というのは、ようするに、一回目
に選択した範囲の次の文字のことです)。
5 End of File まで繰り返し。

途中でやめることもあるので、Escキーで中断。

要するに、範囲を選択するのが面倒なので、自動的に範囲を選択できないかと考えて
いるわけです。
マクロのリクエストをここに書いてよいのかどうかわかりませんが、
どうぞよろしくお願いします。



[ ]
RE:27340 現在カーソルあるところから、「No.27343
秀丸担当 さん 09/12/16 10:22
 

再変換は変換モジュールでもできると思いますが、秀丸エディタ標準でもできて、
再変換コマンドでできます。マクロだとimeconvforgotという文になります。
とりあえず、範囲選択して再変換を実行するだけでよければ以下のようなマクロ
でできると思います。

  $s=searchbuffer;
  #f=searchoption;
  searchdown2 "[^。!?\n]",regular;
  if( result ) {
    beginsel;
    searchdown "[。!?\\n]" , regular;
    if( result ) {
      imeconvforgot;
    }
  }
  setsearch $s,#f;

変換中はマクロの制御から離れるので、普通の方法では自動で連続してやること
はできないです。
自動起動マクロの「編集後タイマー」を使って、確定後に再びマクロを動かすよ
うにして、マクロもそれ用に書き換えると完全に自動もできるにはできますが、
あぶないのでやめたほうがいいかもしれません。

秀丸エディタ マクロ作者会議室のほうでご質問されるとマクロ作者様などがもし
かしたらいい回答をしてくれるかもしれません。
こちら http://www.maruo.co.jp/hidesoft/4/index.html

[ ]