|
はじめまして。
先日、以下URLの秀丸マクロのレストラン様のHPにて、
http://www.j-coolsite.com/hidemacro/cgi-bin/dengon/dengon.cgi
以下のご質問をさせていただき、いろいろとご調査いただきました。
さらに詳しく見解を伺いたい場合、こちらの掲示板で質問してみるとよいのではない
かというご意見をいただき、投稿させていただきたく思います。
------------------------------------------
Win2000Serv + 秀丸「V4.16」環境で文字コード、改行コードを指定する
マクロを作成しているのですが、以下の現象が起きています。
いろいろと調べてみたのですが、有力な情報が見つかりませんでした。
もし、ご存知の方がおりましたらお力をお貸しいただければと思います。
ちなみに、秀丸メニュー>その他>ファイルタイプ別設定>保存・読込>エンコード
タイプ
は文字コード、改行コード両方とも自動となっています。
はじめに、対象部のソースを記述します。
------------------------------------
$DIR = directory;
$FILE = filename;
changename $DIR + "\\" + "$$tester$$.$$$";
setactivehidemaru findhidemaru( "$$tester$$.$$$" );
//その後、元々開いていた秀丸ファイルをいったん消す
closehidemaruforced findhidemaru( $FILE );
openfile $FILE;
//ファイルを指定のコードでセーブ
if($CODE == "sjis"){
saveas $FILE, sjis;
}else if($CODE == "euc"){
saveas $FILE, euc;
}else if($CODE == "jis"){
saveas $FILE, jis;
}else if($CODE == "crlf"){
saveas $FILE;
}else if($CODE == "lf"){
saveas $FILE, lf;
}else if($CODE == "cr"){
saveas $FILE, cr;
}
------------------------------------
$CODEにそれぞれ変換したいコードの文字列を渡しているのですが、
指定したとおりの動作となりませんでした。現象として、
(1)$CODEに"euc"、"jis"を指定すると、改行コードが勝手に"lf"になってしまう。
(もとの改行コードがcrlfでも同じ現象)
(2)SJISのcrlfファイルで上記マクロを実行した場合、$CODEに"cr"、"lf"を指定して
も、"crlf"のままである。
(3)EUC、JISのlfファイルで上記マクロを実行した場合、$CODEに"crlf"、"cr"を指定
しても、"lf"のままである。
この他にも、いろいろな組み合わせをテストしてみましたが、指定した通りの制御
コードでファイルを保存してくれません。
ためしに、ファイルを保存する部分を
saveas $FILE, sjis, lf;
というようにも指定してテストもしたのですが、SJISのcrlfのままでした。
バージョンも数パターンのバージョンでテストしたのですが、同じ結果となりました。
何か指定する方法が間違っているのでしょうか?
他に情報が必要な場合は、ご指示ください。
よろしくお願いします。
----------------------------------------------------------------------------
----
|
|