識別方法の選択エントリが 「内容で (by Content)」のときは、ファイルはファイル名ではなくファイル内容を照合することによって識別されます。「内容で (by Content)」を選択すると、識別方法の設定の下の 4 つのフィールドが有効になります。これらのフィールドは、現在のファイル形式のファイルを定義するファイル内容を以下のように定義します。
「Tag オフセット (Tag Offset)」は、内容を照合するファイルの開始位置 (0 からカウント) を決定します。デフォルト値は 0 であり、「内容の照合をファイルの最初の文字から開始する」ということを意味します。バイトオフセットが 1 のときは、ファイルの 2 番目の文字から内容の照合を開始することになります。
「Tag 形式 (Tag Type)」は、ファイル内容で照合を行う値の形式、「バイト (Byte)」、「Short」、「Long」、または「ストリング (String)」を決定します。ほとんどのファイルは、「ストリング」データ型で構成される ASCII ファイル (つまり入力できる語と文字) です。「Byte」形式は 1 バイトの数値、「Short」は 2 バイトの数値、「Long」は 4 バイトの数値です。
「Tag 値 (Tag Value)」は、ファイル内容で検索する内容を決定します。この値は、 「Tag 形式 (Tag Type)」設定で定義した形式でなければなりません。
「Tag マスク (Tag Mask)」は、「Byte」、「Short」、または「Long」データ型のマスク値を定義するのに使うオプションフィールドです。マスク値が定義されると、論理 AND 操作が、バインドしようとするファイルの「Tag 形式 (Tag Type)」と「Tag マスク (Tag Mask)」に対して行われ、照合値 (照合される内容) を決定します。このフィールドは、主に DeskSet 環境に統合するアプリケーションを開発するプログラマのためのものです。
「Tag 形式 (Tag Type)」、「Tag マスク (Tag Mask)」、「Tag 値 (Tag Value)」フィールドに関する詳細については、magic のマニュアルページを参照してください。
図 16-11は、ファイルの先頭の文字列「%!」によって PostScript ファイルを識別できることを示しています (「Tag オフセット (Tag Offset)」=0、「Tag 形式 (Tag Type)」=「ストリング (String)」、「Tag 値 (Tag Value)」=%)。前述の節「名前による識別」で説明したように、PostScript ファイルは .ps で終了するファイルでも識別することができます。 「名前による識別」.
図 16-12は sun-raster ファイル形式エントリを示しています。このクラスのファイルは Long 値 0x59a66a95 から始まるすべてのファイルとして定義されます。