画数別に部首の一覧メニューを表示し,選択された部首の読みを出力してKITI氏作成のreFEPに渡します。
よく使われる部首名は覚えているものですが,あまり一般的でない部首名まですべて覚えているわけにもいきませんし,そもそも「そんな部首名だったのか?」と思うほど妙な部首名もあります。bushの部首メニューには,部首名だけでなく可能な限り形を表わす漢字も表示していますので,画数さえ分かれば目的の部首に到達できると思います。なにしろ爻(めめ)だの毛(けけ)だの,FEPの都合だろうと思われる部首名もありますから。
reFEP によって変換中になった部首の読みから候補一覧を呼び出す方法については,使用しているFEPの説明書を参照してください。例:WX系は部首名を入力して[F05]を押すと指定部首の先頭から候補群が表示されます。なお,出力される部首名はWX系で使用されているものですので,FEPによっては認識されない可能性もあります。
m.gann師のマクロ解析ツール「ばふつあ」に,解析対象のマクロの先頭アドレスを渡します。
=== module_a.def === by H_ear
*m
80 ^^ "" ; 選択モジュールのアドレスを返す
?. !97 (r<0)?. ; ESC なら終了
p=mh, (r)?{ (r){ p=p..2, } } ; Takahashi m(_'_)m
&m("mh:$$%x Offset:%d($$%x) ID:%s Title:%s",mh,p,p,p+8,p+p.6+9)
*
=test\j01=
* m
1 "" ; 選択モジュールのアドレスをpwに取得して「ばふつあ」起動
?. !97 (r<0)?. p=mh, (r)?{ (r){ p=p..2, } }
&> &Sp(q,"$$%x",p) &Sh(pw,q) ;for Buftour
&m("mh:$$%x Offset:%d($$%x) ID:%s Title:%s",mh,p,p,p+8,p+p.6+9)
&Zs("buftour") (r)??{ &z("buftour") } >*
0: q3+$,."$[8]"
*
モジュールメニューに組み込むことにより,module addressの存在価値が出てくることになりました。Yushi氏に感謝。
以下のマクロを標準のモジュールメニュー(マクロメニュー)と差し替えることにより,\[CR]でモジュールを選択すれば「ばふつあ」のオフセットアドレス入力窓が開きます。[UP]([↑])で履歴を1回呼び出して[Enter]すれば目的のマクロの先頭から表示します。
5 [ESC]M "Module Menu" ;Yushi local:H_ear
!97 (r>=0)?{ !98 (r>=0)? >* >^ }
(r&$FF==15)?{ r=r>>8&$7F, &Zd(r) >^ }
(r&$FF==53)?>01 . ; \[CR] で、 buftour
1: r=r>>8&$7f,
p=mh, (r)?{ (r){ p=p..2, } } ;Takahashi (__)
&> &Sp(q,"$$%x",p) &Sh(pw,q) ;for Buftour
&m("mh:$$%x Offset:%d($$%x) ID:%s Title:%s",mh,p,p,p+8,p+p.6+9)
&Zs("buftour") (r)??{ &z("buftour") } >*
0: q3+$,."$[8]"