Contents

Feb 11 2002 岡嶋 大介

EmEditor 文字コード指定プラグイン

EmEditorでは、開いたファイルの文字コードを自動的に判別させることができますが、これが正しくないこともしばしばあります。このプラグインをインストールし、設定ファイルにファイルと文字コードの対応を書いておくと、ファイルを読み込んだときに正しい文字コードで自動的に読み直してくれるのがこのプラグインの機能です。

ダウンロード

バイナリ(約40KB)

ソースコードは現在公開していません。このプラグインは、コンパイルするためにbison++というコンパイラ・コンパイラが必要だからです。bison++(またはyacc)の予備知識があり、ソースコードに興味のある方は僕にメールで連絡していただければ個別にお送りします。

[リリース履歴]

動作環境

EmEditor Version3.21以降で動作確認しています。また、このプラグインはC/C++のランタイムライブラリ(msvcrt.dll, msvcp60.dll)を使用するので、環境により動作がうまくいかないことがあるかもしれません。もし動作が思わしくない場合は、連絡をいただければ可能な限り対応します。

このプラグインをインストールするには、ダウンロードしたencoding.dllをEmEditorのプラグインのディレクトリ(通常はEmEditorをインストールしたディレクトリの下のPluginsディレクトリ)に置くだけです。

設定ファイルの書き方

このプラグインを使うには、設定ファイルを書く必要があります。設定ファイルは、プラグインのencoding.dllと同じディレクトリにencoding.confという名前で作成しなければなりません。

まず、簡単な例です。

	*.txt > shift_jis
	*.php > euc-jp

これは、すべての拡張子txtのファイルはshift jisで読み込み、すべての拡張子phpのファイルはeuc-jpで読み込むことを意味しています。この記法が設定ファイルの基本になります。

場合によっては、拡張子が同じであってもディレクトリによって文字コードを使い分けたいかもしれません。そのときには、次のように書きます。

	C:\aaa\ppp\*.txt > shift_jis
	C:\aaa\qqq\*.txt > euc-jp

ファイルを指定する前にフルパスで書くことにより、ディレクトリ別の指定ができます。このとき、指定はサブディレクトリ全体に及ぶことに注意してください。例えば、C:\aaa\ppp\x\y\z.txtは上の設定ではshift_jisが適用されることになります。もしディレクトリ名がスペースを含む場合は、全体を " " で囲うようにしてください。また、ディレクトリ名に日本語を使う場合は、設定ファイルencoding.confをShift_JISで書くようにしてください。

さらに、ディレクトリが途中まで同じ場合は { } を使って記述を簡略化することができます。上の例では、C:\aaaの部分は同じなので、

	C:\aaa\
	{
		ppp\*.txt > shift_jis
		qqq\*.txt > euc-jp
	}

と書くことができます。もちろん、 { } のネストもできます。

なお、設定ファイルに書いた結果、複数の指定にマッチした場合は最初に書かれた設定が優先されます。例えば、

	*.txt > shift_jis
	C:\aaa\qqq\*.txt > euc-jp

このようになっていると、C:\aaa\qqq\*.txtにマッチするファイルを開いたとしても、最初の*.txtの指定が優先され、shift_jisが適用されます。

最後に、>の右側に書ける文字コード指定の一覧です。

encoding.confの設定適用される文字コード
shift_jisShift JIS
sjis
jisJIS
euc-jpEUC-JP
utf-8UTF-8
utf8
utf-16UTF-16
utf16

これは僕が日常的に使う文字コードを適当の並べただけなのでとりあえずこのようにしてあります。不足を感じた方は連絡をいただければ追加します。

連絡先、今後の予定

このプラグインに関する質問やバグ報告は、メールdaisuke.okajima@nifty.ne.jpか、EmEditorのメーリングリストへお願いします。