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

  1. // k_kanzC1.mac 水銀水(Suigwinsui)/小田明夫(HGD01603)
  2. // 【機能】漢字と旧漢字あるいは異字体の調査
  3. // 【例示】亜悪芦鯵圧→亞惡蘆鰺壓
  4. // 【強制変更】・「全角文字を意識する」を強制ON(一応(^^;)
  5. //             ・「フリーカーソルMODE」を強制OFF
  6.  
  7. // 【著作権など】なお、漢字対応テーブルは、下記によります。
  8. // 78  NBD00533 95/01/29   10255  258 B QKANJI2 .LZH VZで旧漢字/異体字変換
  9. // Copyright (C) 1995 by 上村 郁夫(Ikuo Kamimura) (NIFTY-Serve:NBD00533)
  10.  
  11. call starting;
  12. call setKanzi;
  13. call mainKyuuKanzi;
  14. call ending;
  15.  
  16. mainKyuuKanzi:
  17. if(selecting){// 選擇時
  18.     #sx=seltopx;#sy=seltopy;
  19.     #ex=selendx;#ey=selendy;
  20.     disabledraw;
  21.     escape;
  22.     call changeChr;
  23.     enabledraw;
  24. }else{
  25.     message "●報告...当マクロを実行できません<m(_._)m> \n"+
  26.         "●理由...実行前に「範囲選択」することが必要です\n"+
  27.         "●対策...文字列選択や行選択をして、当マクロを実行して下さい。";
  28.     #ret=1;
  29.     goto ending;
  30. }
  31. return;
  32.  
  33. changeChr://開始座標と終点座標を与えて、その間の漢字を調査する
  34.     moveto #sx,#sy;
  35.     while(1){
  36.         #cCH=#cCH+1;
  37.         #g=code;
  38.         if(#g==eof)break;
  39.         call chkChar;// #c;
  40.         title "●調査中『旧漢字\/異体字をもつ現代漢字』...走査["+str(#cCH)+"]字 検出["+str(#gOK)+"]字";
  41.         right;
  42.         if((#ex==x && #ey==y)||#ey<y)break;
  43.     }
  44. return;
  45.  
  46. chkChar:
  47. $g=char(#g);
  48. #c=strstr($K,$g);
  49. if(#c>=0){
  50.     #gOK=#gOK+1;
  51. }
  52. return;
  53.  
  54. setKanzi:
  55. //--- 漢字テーブル ---QKANJI2 .LZH   by 上村 郁夫(Ikuo Kamimura) (NIFTY-Serve:NBD00533)による
  56. $K="亜悪芦鯵圧庵囲為医育一壱稲飲淫隠卯欝厩叡営曳栄穎衛詠駅円煙艶塩奥往応欧殴鴬沖穏仮価嘩峨画会解回壊怪懐絵蟹碍蓋蛎鈎拡撹殻覚学岳楽竃釜粥勧巻歓潅缶観諌鑑関陥陥館雁顔器奇期棋棄帰気亀偽戯犠却糾旧拠挙京峡挟況狭尭暁極区駆勲群径恵憩携渓経継茎蛍軽頚鶏芸欠決倹剣圏検権献県険顕験厳虎鼓効広恒晃稿鉱劫轟国嵯済砕剤財冴坂崎桜冊雑皐参惨桟蚕讃賛残糸紙歯事児辞湿質実篠蕊舎写釈呪寿収秋讐従渋獣縦粛準処叙嘗奨将廠松焼称証乗剰場壌嬢条浄畳穣譲醸嘱触唇寝慎晋真刃尽靭酢図厨垂粋翠酔随髄数枢世畝凄栖声静斉摂窃専戦浅潜線繊船賎践銭善禅曽疎蘇遡鼠双壮捜挿争窓総聡荘装走騒臓蔵属続卒多堕舵楕体対帯滞台滝択沢鐸達竪狸単担胆団弾断恥痴稚遅昼虫鋳瀦猪庁町聴腸勅珍鎮壷逓鉄纏転点伝兎砺党島梼盗灯当逃闘働独読栃届縄二迩韮妊廼悩脳覇廃拝杯梅売蝿函発髪罰抜蛮秘桧氷浜富払仏幣並閉箆変辺弁舗穂宝峰萌褒豊冒貌没本翻槙侭万満蓑脈夢婿麺黙餅野弥薬訳薮癒湧予余与誉揺様窯耀謡踊遥来乱覧略溜留竜両涼猟瞭糧隣瑠塁涙励礼隷霊齢恋聯炉労朗楼篭禄亘湾仭俎伜僣冤冦冪剋剳卮厠厦厮喀噪嚏址埓壜奘奩佞嫺嬲尓崙嵌廸彝彎彿忰慚懺戛扠抬旙昿枡梹棕櫁檗檪殱洵洌渕炯煕燻犁犲狢獏琅瑶珱疇疣皸眥稟筐筍箏籐籖緕羈羮膣艫苺萼虱蟇蟒蠧衄衽褝謚譛豼賍躙軆輒輌逎鈩鑚閙闊韲飄鰛鳧鵄鵞鶇鷆麸齧";
  57.  
  58. return;
  59.  
  60. starting:
  61. // 上書きキャンセル
  62. if(overwrite){#overWrite=1;overwriteswitch;}
  63. if(imestate){
  64.     #imeON=1;
  65. }
  66. if(freecursor){
  67.     #freeCursChang=1;
  68.     config "r-";
  69. }
  70. #orgX=x;#orgY=y;//設定変更後のカーソル位置は変化する場合もあるが、これを初期位置とする
  71. #endCancelSelectStr=1;//マクロ終了時のカーソル位置
  72. return;
  73.  
  74. ending:
  75. if(#overWrite){if(!overwrite)overwriteswitch;}
  76. if(#freeCursChang){
  77.     config "r+";
  78. }
  79. if(#endCancelSelectStr){
  80.     moveto #orgX,#orgY;
  81. //    escape;
  82. }
  83. if(#imeON)imeswitch;
  84. //moveto #orgX,#orgY;
  85. if(#cCH>0)message "●調査報告(現→旧/異)候補数\n"+
  86.     "───────────────\n"+
  87.     "・走査した範囲にある文字総数:"+str(#cCH)+"字"+
  88.     "\n・旧漢字/異体字をもつ現代漢字:"+str(#gOK)+"字\n"+
  89.     "───────────────\n";
  90. if(#ret)endmacro;
  91. else endmacroall;
  92.  
  93.  
  94.