// 秀丸用ルビ振りマクロ v1.0 (Oct-07-1999) // Copyright (C) 1999 押井徳馬 // Web site: https://osito.jp/download/ // これはフリーソフトウェアです。再配布や改造は自由です。 // // 使用例:「魑魅魍魎」の字にルビを振るHTMLを記述 // 1.「魑魅魍魎(ちみもうりょう)」と書く(括弧は半角でも全角でもよい) // 2.「魑魅魍魎」の字の左にカーソルを移動する // 3.このマクロを実行する // 4.すると、現在のカーソル位置から最初の丸括弧までがルビ対象文字、 // 括弧内がルビ文字と自動認識され、ルビを振るHTMLが追加されます。 if(readonly){ message "上書き禁止です。実行を中止します。"; endmacro; } if(browsemode){ message "閲覧モードです。実行を中止します。"; endmacro; } // 現在のカーソル位置を保存 #x0 = x; #y0 = y; // 左括弧の位置を検索(半角のがなければ全角も検索) searchdown "("; if (!result){ searchdown "("; } if (result){ // 左括弧があった場合 #x1 = x; #y1 = y; } else{ // 左括弧がなかった場合 message "左括弧が見つかりません。ルビ振りを中止します。"; moveto #x0, #y0; endmacro; } // 右括弧の位置を検索(半角のがなければ全角も検索) searchdown ")"; if (!result){ searchdown ")"; } if (result){ // 右括弧があった場合 #x2 = x; #y2 = y; } else{ // 右括弧がなかった場合 message "右括弧が見つかりません。ルビ振りを中止します。"; moveto #x0, #y0; endmacro; } // 文字列追加でカーソル位置がずれないよう、右から左にかけて文字列追加 // まずは右括弧の左へカーソル移動し、タグを追加 moveto #x2, #y2; insert ""; right; insert ""; // 次に左括弧の左へカーソル移動し、タグを追加 moveto #x1, #y1; insert ""; right; insert ""; // 最後に、最初のカーソル位置に移動し、タグを追加 moveto #x0, #y0; insert ""; // 最初のカーソル位置に戻す moveto #x0, #y0; endmacro;