Specifications for Search Engines List Version 8 検索エンジンリストバージョン8の仕様書 1.用語定義 -------------------- [セクション] キー=データ -------------------- このファイルでは、上記の通り呼称することにします。 また、下記で Donut RAPT と呼称している部分について Donut Q の場合も適宜、読み 替えてください。 2.概要(以前のバージョンとの差異等) ・検索エンジンリストバージョン8(以降 Ver8)は、 Ver2 以降対応 Donut RAPT と  下位互換があるので、Ver8 のリストファイルを Ver2 以降対応 Donut RAPT で使用  できます。(ただし、当然ながら拡張機能は非対応です。) ・基本的に、Donut RAPT では、各キーの並び順は無関係です。 ・情報量が 32KB/セクション 未満のとき、高速処理仕様で処理します。 ・数字キーは以下の通りのルールでインクリメント(増加)されていきます。   01,02,03,...,09,10,11,...,99,100,101,...  C言語的記述をするならば、"%02d" というフォーマットになります。  01〜32767までの32767個まで有効です。 ・キーは大文字・小文字を問いませんが、互換性のため、既定通りにすることを推奨  します。 ・Donut RAPT は、データ長 INTERNET_MAX_PATH_LENGTH(2048 bytes) まで認識します。 ・個々のセクション名の長さは、データ長 MAX_PATH(260 bytes) まで認識します。  また、関連 API の仕様上、1ファイル内のセクション名の合計バイト数は32KB未満  である必要があります。  (実際には、セクション数により、さらに小さくなります。   セクション名の合計バイト数+セクション数<32KB、ということです。) 3.各セクションについて ▼[SearchBar]セクション -------------------- [SearchBar] ListVersion=8 ListCountSelect=5 現在選択されているインデックス番号 DefaultIndex=0 Donut起動時の既定インデックス番号 CategoryCx=180 検索エンジンリストボックスの幅 CategoryCy=180 検索エンジンリストボックスの高さ(あまり意味はありません) lf.lfFaceName=MS UI Gothic lf.lfPointSize=9 lf.lfWeight=400 lf.lfItalic=0 lf.lfUnderLine=0 lf.lfStrikeOut=0 lf.lfCharSet=128 -------------------- Donut RAPT は、検索エンジンリストバージョンを、ListVersionキーで取得します。 このキーがない場合、Donut RAPT は、"ListVersion=1"として捉えます。 ◆◆◆ Ver5以降の制限 ◆◆◆ ・エンコード指定で $$euc$$ 指定は、Ver4 以前のリストの場合のみ有効です。  Ver5 以降では、Encode キーの指定のみが有効で、$$euc$$ エンコード指定は  無効となります。ただし、Ver4 以前のリストでも、Ver5リスト対応PGでの  Encode キー指定は有効です。 ◆◆◆ インデックス番号は、0から始まります。検索エンジンリストの数字キーは、01から 始まります。1つずれているので、即値指定する場合は気をつけてください。 DefaultIndexキーは、存在しなくても構いません。 DefaultIndexキーは、Donut RAPT の起動時に読み込まれ、ListCountSelectキーより 優先度が高くなっています。 CategoryCx, CategoryCyキーの値については適宜変更してください。 これらのキーが存在しない時はデフォルト値で表示されます。 lf.で始まるキーは、検索エンジンリストボックスのフォント設定です。 よく分からない場合はいじらないでください。 ▼[Search-List]セクション -------------------- [Search-List] ListCount=22 01=ソース表示 -------------------- ▼個別セクション:基本スタイル -------------------- [名称] ID= Style= FrontURL= BackURL= Encode= -------------------- Style:以下のフラグの値のビット和を保存します。 0x0001:Enable 検索エンジンリストボックスに表示します。 0x0002:Separator セパレータとします。このフラグが立っていると、FrontURLとBackURLは無効です。 0x0004:Group 後述する検索エンジングループであることを示します。このフラグが立っていると、FrontURLとBackURLは無効です。 ◆◆◆ Ver5の新機能 ◆◆◆ 0x0008:Encode 検索ワードを独自形式でエンコードします。詳しくは、ソースファイルに含まれるRtlCodeConvert::Encode()を参照して下さい。 ※このフラグは下位互換のために当面残しますが、今後は Encode キーを使用します。  今後も使用可能である保証はありません。 ◆◆◆ 0x0010:Images マルチメディア設定です。画像のダウンロードを許可します。 0x0020:Videos マルチメディア設定です。動画の再生を許可します。 0x0040:Sounds マルチメディア設定です。音の再生を許可します。 0x0080:NoScripts セキュリティ設定です。スクリプトの実行を禁止します。 0x0100:NoJava セキュリティ設定です。Javaの実行を禁止します。 0x0200:NoRunActiveX セキュリティ設定です。ActiveXの実行を禁止します。 0x0400:NoDLActiveX セキュリティ設定です。ActiveXのダウンロードを禁止します。 0x0800:UseCustomDLCtls マルチメディア設定・セキュリティ設定を有効にします。OFFのときは、Donutのデフォルト設定を使用します。 0x1000:ShellExecute 実行可能ファイルであることを示します。このフラグが立っていると、検索実行時、検索ワードを無視します。 ◆◆◆ Ver6の新機能 ◆◆◆ 0x2000:ServerEncode Encode キー処理後に検索語全体を URL エンコードします。 ◆◆◆ ※Separator, Group, ShellExecute はいずれか1つだけ含むことができます。  Donut RAPT は、最初にこのStyleキーを読みに行き、タイプを判別してから他の  キーを読むようになっています。   そのため、不要なキーは無視されます。また、Donut RAPT でリスト編集時に  それら不要なキーは削除されます。 Encode:検索語のエンコーディング方式を指定します。 0:変換なし 1:Shift_JIS(URL encode) 2:EUC 3:UTF-8 4:base64-encode 5:base64-decode ID:検索エンジンの識別子 Donut RAPT の内部で使用する識別子です。この部分は変更しないでください。 独自に検索エンジンを追加する場合は指定する必要はありません。 ▼個別セクション:グループスタイル -------------------- [グループセクション名1] Style=5 ListCount=3 01=個別セクション名1 02=個別セクション名2 03=グループセクション名2 -------------------- 上記の例のように、グループの中にグループを含めること(グループのネスト)が できます。 -------------------- [グループセクション名1] Style=5 ListCount=1 01=グループセクション名2 [グループセクション名2] Style=5 ListCount=1 01=グループセクション名1 -------------------- ただし、上記のような、無限ネストはしないでください。Donutは無限ループに陥り ます。最悪の場合、HDDを道連れにするかもしれません。 ▼設定例 -------------------- [Google 日本] Style=1 // 0x01: Enable 0x02: Separator 0x04: Group 0x08: Encode 0x1000: ShellExecute 0x2000: ServerEncode Encode=3 // 0:エンコードなし 1:ShiftJIS 2:EUC-JP 3:UTF-8 FrontURL=http://www.google.com/search?num=50&hl=ja&lr=lang_ja&q= [--ShellExecute--] Style=3 [メモ帳] Style=4097 // 0x1000:(4096) ShellExecute のフラグが立っていると、検索ワードは無視されます。 FrontURL=notepad.exe // .exe .url .lnk など BackURL= // 引数 [Group search] Style=5 ListCount=2 01=Google 日本 02=Yahoo! JAPAN [個別:名前だけ、非表示] Style=0 -------------------- 上記、データ部に // で始まる個所は実際には記述しないでください。 記述した場合、動作保証できません。 ◆◆◆ Ver5の新機能 ◆◆◆ ※ShellExecute属性のとき、基本的に検索ワードは無視されますが、  変数(\1など)指定時はファイル呼び出しのパラメータとして  半角スペース区切りで渡す事ができます。  また、エンコード指定は無効です。(Encode=0 と同等) ◆◆◆ ◆◆◆ Ver7の新機能 ◆◆◆ FrontURL 及び BackURL に @post: で始まる文字列がある場合、以降のパラメータを POST データとして処理し、リクエストからは削除されます。 ◆◆◆ 4.ヒント Style=1とし、FrontURL及びBackURLに何も入力しなければ、セパレータと同じ状態 にはなりますが、正しく、Style=3とした方が内部的に速く処理される可能性が あります。 ◆◆◆ Ver5の新機能 ◆◆◆ 5.検索ワードエンコードについて 個別セクションに新しく Encode キーが追加されました。 このキーで検索ワードのエンコード処理を指定できます。  0:処理なし 検索ワードをそのまま渡します。  1:ShiftJIS 従来のStyle=8に該当します。記号など一部のワードをエンコードします。  2:EUC-JP Ver4で BackURL キーに $$euc$$ 指定するのと同等です。キーワードを EUC-JP でエンコードします。  3:UTF-8 キーワードを UTF-8 でエンコードします。 下位互換として、下記の2タイプのエンコード指定も受け付けますが、推奨しません。 (Ver4以前のリストの場合のみ有効な指定になります。) ・Style=8指定によるShiftJISエンコード ・BackURL=$$euc$$によるEUC-JPエンコード ◆◆◆ ◆◆◆ Ver8の新機能 ◆◆◆  4:base64-encode キーワードを base64 でエンコードします。  5:base64-decode キーワードを base64 でデコードします。 ◆◆◆ 6.検索クエリ引数 {searchTerms} すべてのキーワード {0} すべてのキーワード {1}-{9} スペースで区切った時の 1-9 番目のキーワード {title} アクティブタブのタイトル {url} アクティブタブの URL {url} が http://www.example.com/aaa/bbb/ccc.php?key=xxxx&val=yyyy とあったとき、 {scheme} アクティブタブのスキーマ (http) {host} アクティブタブのホスト名 (www.example.com) {path} アクティブタブのホストとクエリを除いたパス部分 (/aaa/bbb/ccc.php) {path:0} {path} の第一階層 (/aaa) {path:1} {path} の第二階層 (/bbb) {path:2} {path} の第三階層 (/ccc.php) | {path:9} {path} の第十階層 {year} nnnn年 {month} 0n月 {day} 0n日 {hour} 0n時 {minute} 0n分 {second} 0n秒 // 以下は Donut Q 81 以降で追加 {-month} n月 {-day} n日 {-hour} n時 {-minute} n分 {-second} n秒 {minute:0} 14分→1 (分の10の位) {minute:1} 14分→4 (分の 1の位) 2009/04/03 RAPT absorb@jcom.home.ne.jp http://rapt21.com/