|
こんにちは。マボカルです。
各ファイルがどういうエンコードで保存されているのか、その一覧を
作成するためのマクロをIranoanさんに頂きましたが、
05293 ファイルの文字コードの判定 / マボカル [ 06/11/07 03:33 ]
http://www.maruo.co.jp/hidesoft/4/x05293_.html#5296
正式バージョンである英語版秀丸Ver605で行ったところ以下のような
問題点が発見されたため
22142 ファイル名がユニコード表記のタグジャンプがNG / マボカル [ 06/11/07 2
1:57 ]
http://www.maruo.co.jp/hidesoft/2/x22142_.html#22142
正式なエンコード一覧を作成することができませんでした。
Ver6.06β3でこの問題が解消されているということで、もう一度Iranoan
さんのマクロを動かしてみました。結果は正しく出ているようです。
しかしグレップの結果ファイルのタイトルバーを良く見てみると、
やや上部に偏って表記されており、しかも検索語であるタイトルバーの
grep "(.|\n)"
の表示の\nの部分が文字化けしています。
grep "(.|■)" ←制御コードが文字化けされて表示されたような感じ
グレップの結果には影響ないようですが、表記のされ方が目障りです。
というか文字化けされている部分もあるのでよろしくありません。
\が入った検索語のため問題がおきているのかと思って、Iranoanさんの
マクロではなく、普通のグレップで
(.|\n)
のようにやってみたところ、この場合はグレップ結果ファイルの
タイトルバーは問題なく表示されます。現在のところその規則性がよく
分からず、Iranoanさんのマクロを動かしたときにのみ、そうなるの
ですが、どこでどう問題を起こしているのでしょうか?
Iranoanさんのマクロの動きを参考にすると問題点を探し出すヒントに
なるかもしれません。ご確認よろしくお願いします。
ちなみに私の環境は韓国語版XP+英語版秀丸Ver6.06β3ですので、お手
数ですが、XPの言語設定を韓国語に設定してからご確認ください。
それからIranoanさん、以下のマクロありがとうございました。
Ver6.06β3で確認したところ、正しくエンコードを判定してくれている
ようです。
【韓国語版XP】
【秀丸英語版Ver6.06β3】
//---------------------------------------------------
grep "(.|\n)", "*", ".", subdir, filelist, regular, icon;
showwindow 0;
disabledraw;
#grep = hidemaruhandle( 0 );
while( code != eof ){
tagjump;
#charset = charset&63;
if( #charset == 1 )$charset = "Shift-JIS";
else if( #charset == 2 )$charset = "Unicode";
else if( #charset == 3 )$charset = "EUC";
else if( #charset == 4 )$charset = "JIS";
else if( #charset == 5 )$charset = "UTF-7";
else if( #charset == 6 )$charset = "UTF-8";
else if( #charset == 7 )$charset = "Unicode (Big-Endian)";
else if( #charset == 8 )$charset = "欧文";
else if( #charset == 9 )$charset = "簡体字中国語";
else if( #charset == 10 )$charset = "繁体字中国語";
else if( #charset == 11 )$charset = "韓国語";
else if( #charset == 12 )$charset = "韓国語(Johab)";
else if( #charset == 13 )$charset = "中央ヨーロッパ言語";
else if( #charset == 14 )$charset = "バルト語";
else if( #charset == 15 )$charset = "ギリシャ語";
else if( #charset == 16 )$charset = "キリル言語";
else if( #charset == 17 )$charset = "シンボル";
else if( #charset == 18 )$charset = "トルコ語";
else if( #charset == 19 )$charset = "ヘブライ語";
else if( #charset == 20 )$charset = "アラビア語";
else if( #charset == 21 )$charset = "タイ語";
else if( #charset == 22 )$charset = "ベトナム語";
else if( #charset == 23 )$charset = "Macintosh";
else if( #charset == 24 )$charset = "OEM/DOS";
else if( #charset == 25 )$charset = "その他";
else if( #charset == 26 )$charset = "バイナリモード";
##sub = hidemaruhandle( 0 );
setactivehidemaru #grep;
closehidemaru ##sub;
golineend2;
insert "\t" + $charset;
movetolineno 1, lineno + 1;
}
replaceallfast "\([0-9]+\)\t", "\t", regular;
showwindow 1;
//---------------------------------------------------
|
|