変更した内容
EUC-JPのサポート
文字コード自動検出失敗時のデフォルト文字コード指定(デフォルトではShift_JIS)
既存ファイルを読み込む場合に、7bit or 8bit文字コードの場合、自動で文字コードを検出する機能があります。
ただ、これは、ある程度、日本語文字列(ひらがな)が含まれている必要があり、ヒットしない場合もあります。
その場合、デフォルトの動作では、ASCII(ANSI規格)と判断され日本語とはみなされないことになります。
このような時に、とりあえず、デフォルトとして Shift JIS or EUC JP or UTF8 で開くことができるようにするための機能です。
つまり、マルチバイトを含む文書の場合、ASCIIでなく日本語が扱える文字コードのいずれかを指定できるようにします。
マルチバイトを含まない文書の場合、ASCIIと判断されます。既存機能で、ASCIIと判断された文書を自動でUTF8として取り扱う機能もあります。
以下は、その機能の設定画面です。
[ 設定 ] - [ 環境設定 ] で以下の画面左から [ 新規作成 ] を選択します。
画面右の [ 開いているANSIファイルに適用 ] にチェックすると、ASCIIと判断された文書は、UTF8 BOMなし で開きます。
このデフォルトの文字コードの指定は、インストール先ディレクトリのconfig.xmlを直接編集することで指定することができます。
この時、必ず、Notepad++を終了した状態で編集します。
...
<GUIConfig name="DetectEncoding" ja-pack-auto-detection-default-ansi="Shift_JIS">yes</GUIConfig>
...
|
上記の GUIConfigタグの name="DetectEncoding" の 属性 ja-pack-auto-detection-default-ansi の値を編集することで実現します。
上記は、デフォルトの設定です。"Shift_JIS" は、文字通り Shift JISです。EUCの場合は、"EUC-JP" と指定して、Notepad++を起動すると、デフォルトでECU JPに切り替わります。
制御文字(タブ、空白、全角空白、改行)の個別表示サポート
折り返しワードラップの単語指定、文字列指定のサポート
上記以外にも、
Notepad++ (日本語版) 0.2 を公開してみた。(正確には、Scintillaをカスタマイズしてみた) で提供していた 日本語の選択機能や、
Notepad++ プラグイン Change Markers を公開してみた。 で提供していた 変更行の表示のためのプラグインなども同梱されています。
インストールおよび起動方法
- 先に記載しているダウンロード先 から ZIPファイルをダウンロードし、適当なディレクトリに解凍する。
ここで提供しているファイルには、Notepad++本体を含め一式がZIP形式で提供されています。
そのため、適当なディレクトリに解凍し、インストール完了となります。必ず、書き込み時に管理者権限が必要でないディレクトリへ解凍してください。
- 解凍を終えたら、Notepad++ を起動する。
以下のように無事起動すればOKです。
既知の問題、あるいは、未対応の内容
- UNICODE変換に失敗する文字列は、保存できない。
先にも記述したように、Notepad++内部では、日本語の取り扱いは UTF8で行います。(既存処理)
Shift JIS or EUC JPなどのマルチバイトタイプの文字コードは、一旦、UTF16(いわゆるWindowsのUNICODE)へ変換され、さらに、UTF8へ変換されます。
編集は、UTF8で行われます。
保存時は、先の逆をたどります。UTF8を、一旦、UTF16(いわゆるWindowsのUNICODE)へ変換し、Shift JIS or EUC JPへ変換、保存します。
そのため、UTF16(いわゆるWindowsのUNICODE)とShift JIS or EUC JPの間で Windows APIで変換できない文字列は、正しく動作しません。
(マイクロソフトでは、http://support2.microsoft.com/kb/170559/ja にて詳細が記載されてあります。)
- ワードラップで禁則処理は行われない。
先にも記述したように、ワードラップで禁則処理は行われません。
また、単語ワードラップを指定しても日本語の単語を判断して折り返しは行いません。
単語と認識するのは、英語の時と同じで、半角空白、ピリオド、カンマなどの記号によって判断されるのみです。
- ワードラップの切り替え処理はマクロ制御できない。
ワードラップの切り替え処理が、以前はマクロ制御できていたようです。
今回は、そこまで対応していません。
- 制御文字の切り替え処理はマクロ制御できない。
制御文字の切り替え処理は、マクロ制御できません。既存からできていないようです。
- ツールバーから "制御文字をすべて表示"、"右端で折り返す" が無くなった。
機能が変更されたので、上記の機能は無くなったため、ツールバーのアイコンも削除されました。
- 文字コードが ASCII では、単語選択がうまく働かない。
日本語でWindowsであれば、ASCII = Shift-JISと思いがちですが、Notepad++では厳密に異なります。
そのため、文字コードがASCII で認識されたドキュメントでは選択が正しく動作しません。
また、全角空白も同様表示されません。
ASCII で自動認識された場合は、[ エンコード ] - [ 文字セット ] - [ 日本語 ] - [ Shift-JIS ] を選択することで、選択および全角空白が正しく動作します。
また、上記の機能のデフォルト文字コード指定と、既存機能のASCIIと判断された文書を自動でUTF8として取り扱う機能を活用することで、ASCIIと自動認識することはなくなるかと思います。
そのため、これらの機能の組み合わせは、この問題の回避策として用いることもできるかと思います。
- ANSI = American National Standards Institute
アメリカ合衆国の工業規格を定める機関
- ASCII = American Standard of Code for Information Interchange
情報交換のための文字コード規格
- 日本語を選択しても同一単語が表示されない。
Notepad++は、
たとえば、以下のように sc を選択しただけで、同一単語(ここでは"sc")を同じ文書ファイル内で、直ちに検索し、表示切替をします。
これが、日本語を選択した場合、うまく機能する場合としない場合があります。
通常の検索は、もれなくヒットしますが、上記の簡易検索ではヒットしない場合があるので注意が必要です。
単純な動作の確認は行ったものの、まだまだ、テスト不足の感は否めません。
機能が豊富なだけに、他機能との絡みでの問題は出ると思います。
もし、何かおかしな点に気づかれたら、コメントいただけるとうれしく思います。
2015年08月03日 @ 22:25:12
\plugins\API\に保存しなければならいファイルがあるのですが、どうすればいいですか?非日本語の本家の場合、インストーラーでインストールprogramフォルダ内のインストールした先のフォルダにつくられるようです。
2015年08月04日 @ 01:07:44
matushiro97 さん
コメントありがとうございます、管理人です。
早速ですが、簡単なやり方を解説しておきます。
基本的に解凍したディレクトリに\plugins\APIs\を丸ごとコピーすれば良いだけです。
コピーした後、notepad++.exeをダブルクリックで起動してみてください。
また、逆に本家の方へ、カスタマイズ版をコピーする方法もあります。
1. Notepad++ ja-pack All in One – Binary を適当なディレクトリに解凍する。
2.本家の同一バージョンのディレクトリへ以下のファイルをコピーする。
notepad++.exe
SciLexer.dll
コピーする際は、必ず、本家をバックアップしておきましょう。もし、動作が不満、不安定などでもとに戻せるようにしておきましょう。