search.json
search.jsonファイルは、ドキュメント全体のテキストコンテンツをJSON形式で格納しています。これはオプションのアセットであり、設定オプション で有効にすることができます。IDRViewer Complete UI(BuildVuのデフォルト設定)を使用する場合は有効になります。
[
"Text on page 1",
"Text on page 2",
"...etc"
]
search.jsonファイルの目的は、ドキュメント検索を簡素化することです。すべてのHTMLまたはSVGページを読み込んで解析する必要なく、ドキュメントの全コンテンツを検索する簡単な方法を提供します。
search.jsonの内容は、以下の例外を除いてHTML/SVGコンテンツと完全に一致します:
HTMLおよびSVGコンテンツでは、アンパサンド&、大なり記号>、小なり記号<の文字がHTMLエンティティ& > <に置き換えられますが、search.jsonファイルでは置き換えられません。
PDFファイルでは、グリフがffi → ffiのような複数文字の抽出値を持つ場合があります。これは合字でよく見られ、スタイル上の目的で合字の見た目が使用され、抽出値は分解された形式になります。
このような場合、HTML/SVGコンテンツには合字形式(フォントが正しい見た目を表示するために必要)が含まれ、search.jsonファイルには分解された形式が含まれます。
これが発生すると、DOMコンテンツをsearch.jsonコンテンツにマッピングする方法を定義するdata属性がHTML/SVGに追加されます。例:<span data-mappings="[[13,'ffi']]">The ligature ffi decomposes to ffi.</span>
PDFファイルでは、テキストの見た目は正しいが抽出値が壊れている場合があります。これは、PDF作成ツールが誤って設定されていた場合、PDFディスティラーが使用された場合、または作成者が意味のあるテキスト抽出を防ぐために意図的にエンコーディングを破壊した場合に発生する可能性があります。結果は文字化け に似ています。
このような場合、BuildVuは、壊れた値(制御文字や結合文字の範囲にある可能性がある)がドキュメントの見た目を破壊するのを防ぐために、抽出値を再マッピングする必要があります。
これが発生すると、BuildVuは文字をフォント内の私用領域(PUA) に再マッピングする場合があります。このような文字がHTMLまたはSVGで表示される場合、フォントが文字の正しい見た目を保証します。ただし、フォントなしでこのような文字を表示する場合(検索結果のスニペットとして返される場合など)、文字の見た目が正しくなくなります。
ほとんどのアプリケーションでは、私用領域範囲(U+E000–U+F8FF)の文字は通常.notdefグリフ
として表示されますが、これは保証されていません。
