SearchWPで単語の区切りに全角スペースを使うには
SearchWP[en]はFirefoxの検索バーからページ内検索やハイライトができる拡張機能。ツールバーにボタンを2つ(HighlightとTerms Toolbar)加えるだけで使える。複数の単語を別々にページ内検索で使えたり、前に検索(Shift+クリック)や大文字小文字の区別(Ctrl+クリック)もできて便利。
一つ困った事に、デフォルトでは単語の区切りに使えるのが半角「 」「+」「(」「)」「"」のみ。全角スペースを使えない。日本語で検索する際、単語の区切りに半角スペースを入力するのは手間がかかり不便だ。2005-12-28追記:SearchWP 0.5.5から全角スペースも単語の区切りに使えるようになった。
全角スペースを単語の区切りに使えるように改造する
実はSearchWPのファイルを一行修正すると、単語の区切りに全角スペースを使えるようになる。今回はその紹介。
必要な道具はZIPを扱える圧縮・解凍ソフトとUTF-8を扱えるエディタ。作業例では、SearchWP 0.5.2、圧縮・解凍ソフトは7-Zip、エディタはサクラエディタを使った。7-Zipを使うと拡張機能で使うxpiファイルやjarファイルの中を直接編集できる。名前の変更や解凍・圧縮の手間が省けるのでおすすめ。(参考:朝顔日記 - 7-zip File Manager で xyzzy を使う)
作業1 termsUtil.jsの場所
修正するファイルは「termsUtil.js」、これをエディタで開く。場所は以下の通り。
- SearchWPをインストール済みの場合
- プロファイルフォルダ/extensions/{3e270ac3-8936-43fb-ad20-b4685172a83d}/chrome/searchwp.jar/content/termsUtil.js
- インストール前のxpiファイルの場合(xpiファイルは
- //addons.mozilla.org/extensions/moreinfo.php?application=firefox&category=Search%20Tools&numpg=10&id=376">Mozilla Updateでダウンロードできる):searchwp-0.5.2.xpi/chrome/searchwp.jar/content/termsUtil.js
xpiファイルやjarファイルはZIPで圧縮されている。7-Zipだと普通のフォルダのように開ける。開けない場合は、拡張子をzipに書き換えて解凍する。
作業2 termsUtil.jsの修正
「termsUtil.js」を開いたら、78行目あたりにある次のコメントを探す。
// these characters do not occur on the search term buttons, // except in quoted phrases
このコメントの上に次の一行を追加し、UTF-8形式で保存する。
case String.fromCharCode(12288):
保存後エディタを閉じると、7-Zipから「書庫を更新しますか?」と聞かれるので「OK」を押す。xpiファイルやjarファイルを解凍した場合は、ZIPで圧縮しなおし、元の拡張子に戻す。
JavaScriptに追加した1行は、Stringオブジェクトが文字列、fromCharCodeメソッドがISO Lathin 1文字コードを文字に変換、12288がISO Lathin 1文字コードで全角スペースです。作業の大まかな意味は、Terms Toolbarに現れない単語の条件に全角スペースを加えた、というところ。