Notepad++ (日本語版) 0.1
今回、ここで公開するソフトウェアは、SciLexer.dll (Scintilla の本体であるDLL) だけです。
Notepad++ でも同梱されているこのDLLが、Scintillaの本体になります。
このDLLを Notepad++ のインストール先にコピーすることで、日本語対応版となります。
(コピーする際は、必ず、いつでももとに戻せるようにバックアップをとってから、コピーしてくだい。)
また、以降に記載のある内容に関して、もし、もし問題などありましたら、こちらのページのコメントに情報提供いただけましたら幸いです。
なお、本ソフトウェアによる損害など一切について、責任を負いかねますので、あらかじめご了解ください。
Notepad++ のライセンスは、GPLです。
Scintilla のライセンスは、Historical Permission Notice and Disclaimer となっています。
変更した内容
- Scintilla のバージョンをあげた。
本家が使用しているのは、 3.3.4 です。
このバージョンは、VC++で単純にコンパイルしても正しく動作してくれないという問題の多いバージョンでもあります。
そこで、今回は、3.4 系の最終バージョンである 3.4.4 へベースアップし、カスタマイズしています。
現在(2014.9)の Notepad++ の最新版(6.6.9) に対応しています。
また、本家が 3.3.4 へ切り替え始めた 6.5 からは少なくとも動作すると思います(未確認です)。
それ以前は、本家で 2.2.7 を使用していたので、メジャーバージョンが異なることから、あまり、ご利用をおすすめしません。
- 改行、タブ、半角空白の記号を日本で利用されている多くのテキストエディタと同じように矢印記号などに変更した。
今回は、2つ用意してみました。
一般的によく使われているタブ、改行ともに矢印を用いるパターンです。
(ダウンロードファイルは、半角空白表示あり になります。)
次に、改行は矢印を用いるパターンで、タブは、三角マークを使用したものです。また、半角空白は無条件に表示しないようにしたものです。
(ダウンロードファイルは、半角空白表示なし になります。)
- マウスのダブルクリック、Ctrl+左右矢印キー、Ctrl+Shift+左右矢印キー などの操作で日本語の単語で選択・移動ができるようにした。
ここで使用したロジックは、Notepad++ EUC-JP 対応版 (サイト : http://www.geocities.jp/npp_euc_jp/ ) を参考にさせていただきました。
公開されている有志者に感謝です。
インストールおよび起動方法
- 本家から Notepad++ をダウンロードし、適当なディレクトリに解凍あるいはインストールする。
ここで提供しているファイルには、Notepad++本体が含まれていません。
そのため、Notepad++本体がインストールされていることが前提となります。
ZIP,7z版の場合は、適当なディレクトリに解凍します。インストーラ版の場合は、インストーラを起動してインストールしましょう。
- タブマークの違いがありますので、以下のダウンロードファイル から、好きな方の選んでダウンロードし、解凍する。
先の変更内容でも解説したように、少しだけ、タブと半角空白の取り扱いが異なりますので、お好きな方を選んで、ダウンロードしてください。
ダウンロードしたファイルをNotepad++本体のインストール先ディレクトリに解凍します。
このとき、何か問題が起こった時に、すぐに元に戻せるように SciLexer.dll ファイルをバックアップしておいてください。
また、解凍(コピー)する際は、必ず、Notepad++を終了した状態で行ってください。(起動したままでは、コピー(上書き)できません。)
[ 追記 ]
バージョン 1.x では、タブのマークの違いや、空白の表示の有無などで2つのファイルを提供しました。
バージョン 2.x では、タブのマークを三角に統一し、半角空白なし、全角空白ありで統一し1つのファイルを提供しました。
バージョン 3.x 以降では、タブのマークを三角に統一し、半角空白、全角空白どもにありで統一し1つのファイルを提供しました。
また、このバージョンから、DLLが Notepad++ ja-pack (AIO) All In One Package と統一が図られました。
そのため、Notepad++ ja-pack (AIO) で提供されている Notepad++ exe でも、オリジナル Notepad++ exe でも動作します。
最新版は、
Notepad++(ja-pack) ページ の Scintilla for Notepad++ Update より確認の上、ダウンロードしてください。
あえて、古いバージョンを使いたい方は、以下の
ダウンロード先からダウンロードしてください。ただしバグ含みなのでおすすめはしません。
- 解凍を終えたら、Notepad++ を起動する。
以下のように改行マークが表示されれはOKです。
ダウンロードファイル
既知の問題、あるいは、未対応の内容
- 日本語を選択しても同一単語が表示されない。
Notepad++は、
たとえば、以下のように sc を選択しただけで、同一単語(ここでは"sc")を同じ文書ファイル内で、直ちに検索し、表示切替をします。
これが、日本語を選択した場合、うまく機能する場合としない場合があります。
通常の検索は、もれなくヒットしますが、上記の簡易検索ではヒットしない場合があるので注意が必要です。
- 全角空白は記号変換されない。
そもそも、Notepad++に全角空白を認識する機能がないので、やっぱり、ここでもできません。
とりあえず、使えるようにしたレベルです。
まだまだ、機能的に欲しいものはありますが、おいおい、手を加えてみたいと思います。
2014年09月13日 @ 11:34:26
Notepad++で気になっていた編集記号表示が一気に改善しました。
ありがとうございました。
改造版のdllを愛用させていただきます。
Notepad++でもうひとつ非常に気になっているのが日本語の折り返しなのですが、こちら
http://www.asu.ac.jp/hachi/v3/notepadWordWrap.html
の情報に基づいて素人考えをしますと、Scintillaを改造して単語単位のモード(SC_WRAP_WORD)と文字単位のモード(SC_WRAP_CHAR)を入れ替えてしまえば、SciLexer.dllの入れ替えだけで、標準的な日本語テキストエディターのような折り返しにできるのではないかと感じています。
要望で申し訳ないのですが、追加機能候補のひとつとしてお考えいただけますとありがたいです。
全角空白も表示できると非常にうれしいのですが、難しいのですね。
2014年09月13日 @ 17:07:38
Yasutake Ishii さん
コメントありがとうございます。管理人です。
折り返し機能は、そもそも Scintilla にあるので、Scintilla を改版するんじゃなくって、たぶん、Notepad++で機能を改版すべきなんじゃないかなぁと思います。Notepad++でやってくれることが一番望ましいですね。プラグインとかでできない?時間があるときにみてみようかと思います。
それから、全角空白は、次のリリースでできるようになります。
また、EUC-JP 対応版での選択機能が日本語だけのUTF8に対応となっているので、ここでもその考え方を継承しています。そのため、今はUTF8の対応としては中途半端に対応しています。これも、もう少し、本格的な対応を・・・とは思っています。
それから、次のリリースから、タブが三角のパターン+半角空白表示なし+全角空白表示というDLLに統一しようかと思っています。
2014年09月13日 @ 22:29:57
さっそくありがとうございます。
折り返しについては、確かにNotepad++側で対応してくれるといいのですが、その見込みがなさそうなので、Stintillaを改造することで(ユーザーとしては)簡単に対応できるのではないかと考えたわけです。
全角空白もうれしいですが、個人的には余計な空白が入ってしまうということを見逃さないようにするためにも、半角空白表示はぜひほしいと感じます。
今も「現在の半角空白表示あり」版を重宝させていただいています。
(タブはどちらの表示でもかまいません。)
ご検討いただけましたらうれしいです。
2014年09月26日 @ 03:57:30
Yasutake Ishii さん
コメントありがとうございます。管理人です。
遅れましたが、一応、Notepad++ jap-pack 1 (http://www.off-soft.net/ja/apps/notepadpp/notepadpp-japack1.html) にて、ご希望のことは、ほぼ、実現できているのかなぁと思います。まだまだ、お試し的なところなので、問題があるかもしれませんが、ご了解の上、ご利用いただければと思います。