home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 1998 January (DVD) / VPR980100.ISO / OLS / WIN32 / KAKIMAC / KAKIMACK.LZH / K_QKANST.MAC < prev   
Text File  |  1995-10-21  |  7KB  |  172 lines

  1. //【マクロ名】k_QKANST.mac by 水銀水(Suigwinsui)/小田 明夫 (HGD01603)
  2. //            日本語文書作成支援「書きマクロ」αシリーズ 第K集 Ver.1
  3. //【機能概略】(1)k_QKAN.mac の各種オプションを設定を担当。
  4.  
  5. call startSetting;
  6. while(1){
  7.  
  8. menu "● 設定        k_QKAN Ver.1  (C)1995  水銀水",
  9.     "□ 非範囲選択での文字列中起動時の動作───────(&H)",
  10.     "    &1."+$h11+"カーソル上の一文字だけを調べて終了",
  11.     "    &2."+$h12+"溯り調査をする(改行マーク上と同じ動作)",
  12.     "□ さかのぼり調査の動作──────────────(&H)",
  13.     "    &3."+"[・]さかのぼる文字数の指定(n>3)= "+str(#backChar),
  14.     "    &4."+"[・]調査方向 = "+$h23,
  15.     "□ 一括変換の整合性────────────────(&H)",
  16.     "    &5."+$h21+"1対1『現代漢字<->旧漢字,異体字』同等",
  17.     "    &6."+$h22+"すべての『旧漢字,異体字->現代漢字』",
  18.     "□ 画面の描画───────────────────(&H)",
  19.     "    &7."+$h31+"低速安定描画(画面が揺れない)",
  20.     "    &8."+$h32+"高速微動描画(画面の揺れアリ)",
  21.     "━━━━━━━━━━━━━━━━━━━━━━━━━━━",
  22.     "───────────────── [×] 設定破棄(&Esc)──",// [ ]の中身は”ぺけ”マークです(^^;
  23.     "───── [◎] 決定(&w)─────────────────";// [ ]の中身は”二重丸”マークです(^^;
  24.     if(result==0)endmacro;
  25.     else if(result==1){
  26.         message "●設定・概略   k_QKAN Ver.1\n"+
  27.              "─────────────────\n"+
  28.              "下記の4項目が設定できます。詳細は該当項目をプッシュしてください。\n"+
  29.        "  □ 範囲未選択での文字列中起動時の動作───────(H)  \n"+
  30.         "  □ さかのぼり調査の動作──────────────(H)  \n"+
  31.         "  □ 一括変換の整合性────────────────(H)  \n"+
  32.         "  □ 画面の描画───────────────────(H)  \n";
  33.     }else if(result==2){
  34.         message "●起動   k_QKAN Ver.1\n"+
  35.             "─────────────────\n"+
  36.             "  ・文字列などを選択をしていない状態で起動する場合のk_QKANの動きを設定します。\n"+
  37.             "    次の2種の動作のうち一つを選択できます。\n"+
  38.             "    - カーソル上の一文字だけを調べて終了     \n"+
  39.             "    - 溯り調査をする(改行マーク上と同じ動作)\n";
  40.     }else if(result==3){
  41.         #oneCharCheckEnd=0;
  42.         call setMarkH1;
  43.     }else if(result==4){
  44.         #oneCharCheckEnd=1;
  45.         call setMarkH1;
  46.     }else if(result==5){
  47.         message "●さかのぼり調査  k_QKAN Ver.1\n"+
  48.             "─────────────────\n"+
  49.                 "□さかのぼり走査の動作について、次の2種類の設定を行います。\n"+
  50.                 "・さかのぼる文字数の指定\n"+
  51.                 "    さかのぼり調査を行う文字数を指定します。\n"+
  52.                 "デフォルトでは「10」文字分、起動時のカーソル位置からさかのぼるようになっています。これでは不足する場合が多い方は、14、とか、20とかの数字を指定すると良いでしょう。しかし、あまり多くの文字数を指定すると、いらついて[Esc]キーを押しまくる、なんて場合もありますので、ほどほどがよろしいかと存じます(^^;\n"+
  53.                 "・走査方向\n"+
  54.           "    さかのぼり調査は、デフォルトで「現在のカーソル位置から左へ向かって走査」します。これは、いわゆる「逆順」で走査しているわけです。これに対して、終点と予想される位置(現在の位置から「さかのぼる文字数」だけ左に移動した位置)まで一気に飛んで、そこから右方向(正順)に走査するようにしたい場合に、ここで設定します。";
  55.     }else if(result==6){
  56.         call getCarLength;
  57.     }else if(result==7){
  58.         if(#backType)#backType=0;
  59.         else #backType=1;
  60.         call setMarkH4;
  61.     }else if(result==8){
  62.         message "●一括変換の整合性  k_QKAN Ver.1\n"+
  63.             "─────────────────\n"+
  64. "□一括変換の変換方向による整合性を図ります。\n"+
  65. "・「複数の旧漢字などがある現代漢字の場合、旧漢字から現代漢字への変換を漢字テーブルに基づいて一種類だけに限定するか、旧漢字のすべてを現代漢字に戻すか」の設定をするのが当項目です。\n"+
  66. "    「現代漢字」と「旧漢字,異体」とは、1対1に対応しているわけではありません。一つの「現代漢字」に対して、複数の「旧漢字,異体」が対応している場合が多々あります。逐次変換では、これをポップアップメニューを表示することで利用者に選択していただいていますが、これを一括して変換してしまうのが「一括変換」の良さです。\n"+
  67. " しかし、同時に、一括して変換するという作業は、「現代漢字」と「旧漢字,異体」を無理矢理、1対1に対応させてしまうわけで、いろいろと不都合も生じます。その不都合をあえて承知で一括変換をするのですが、その不都合さをできるだけ回避しようというのが、この整合性設定です。\n"+"";
  68.     }else if(result==9){
  69.         #oldToNewType=0;
  70.         call setMarkH2;
  71.     }else if(result==10){
  72.         #oldToNewType=1;
  73.         call setMarkH2;
  74.     }else if(result==11){
  75.         message "●画面の描画  k_QKAN Ver.1\n"+
  76.             "─────────────────\n"+
  77.     "・漢字を置き換える際に、画面のちらつきを押さえるかどうかを選択します。\n"+
  78.     "    - 低速安定描画(画面が揺れない)\n"+
  79.     "           画面は揺れませんが、描画や移動が遅くなります。\n"+
  80.     "    - 高速微動描画(画面の揺れアリ)\n"+
  81.     "           画面が揺れる場合もありますが、描画や移動は早いです。\n"+
  82.             "";
  83.         
  84.     }else if(result==12){
  85.         #highSpeed=0;
  86.         call setMarkH3;
  87.     }else if(result==13){
  88.         #highSpeed=1;
  89.         call setMarkH3;
  90.     }else if(result==15){
  91.         break;
  92.     }else if(result==16){
  93.         call writeIniChanged;
  94.         break;
  95.     }
  96. }
  97. endmacro;
  98.  
  99. getCarLength:
  100. if(imestate){imeswitch;##ime=1;}
  101. $$CharLen=input("●さかのぼり調査をする文字数\n (3以上の半角数字で指定)",str(#backChar));
  102. if(##ime){if(imestate)imeswitch;}
  103. if($$CharLen=="")return;
  104. ##CharLen=val($$CharLen);
  105. if(##CharLen<0 || ##CharLen<=3){beep;goto getCarLength;}//##CharLen=10;
  106. #backChar=##CharLen;
  107. return;
  108.  
  109. setMarkH1:
  110. if(!#oneCharCheckEnd){
  111.     $h11="[◎]";
  112.     $h12="[-]";
  113. }else{
  114.     $h11="[-]";
  115.     $h12="[◎]";
  116. }
  117. return;
  118.  
  119. setMarkH2:
  120. if(!#oldToNewType){
  121.     $h21="[◎]";
  122.     $h22="[-]";
  123. }else{
  124.     $h21="[-]";
  125.     $h22="[◎]";
  126. }
  127. return;
  128.  
  129. setMarkH3:
  130. if(!#highSpeed){
  131.     $h31="[◎]";
  132.     $h32="[-]";
  133. }else{
  134.     $h31="[-]";
  135.     $h32="[◎]";
  136. }
  137.  
  138. return;
  139.  
  140. setMarkH4:
  141. if(!#backType){
  142.     $h23="← ← ← ← (さかのぼり調査)";
  143. //    $h23="<-- <--(さかのぼり調査)";
  144. }else{
  145.     $h23="→ → → → (正順調査)";
  146. //    $h23="-->> -->>(正順調査)";
  147. }
  148. return;
  149.  
  150. startSetting:
  151. $f0=hidemarudir+"\\kakimac\\kakimac.kdf";
  152. $sect="k_QKAN";
  153. #backType=getininum($f0,$sect,"backType");//溯りタイプ。0:リバース検索。1:溯り文字数へ一気にバックして、そこから
  154. #backChar=getininum($f0,$sect,"backChar");
  155. if(#backChar==0)#backChar=10;//default
  156. #oldToNewType=getininum($f0,$sect,"oldToNewType");
  157. #oneCharCheckEnd=getininum($f0,$sect,"oneCharCheckEnd");
  158. #highSpeed=getininum($f0,$sect,"highSpeed");
  159. call setMarkH1;
  160. call setMarkH2;
  161. call setMarkH3;
  162. call setMarkH4;
  163. return;
  164.  
  165. writeIniChanged:
  166. writeininum $f0,$sect,"backType",#backType;
  167. writeininum $f0,$sect,"oldToNewType",#oldToNewType;
  168. writeininum $f0,$sect,"backChar",#backChar;
  169. writeininum $f0,$sect,"oneCharCheckEnd",#oneCharCheckEnd;
  170. writeininum $f0,$sect,"highSpeed",#highSpeed;
  171. return;
  172.