<?xml version="1.0" encoding="UTF-8"?>
<article id="Filters">
  <title>フィルターの使用<indexterm>
      <primary>フィルター</primary>

      <seealso>ファイルフィルター</seealso>

      <seealso>file masks</seealso>

      <seealso>line filters</seealso>

      <seealso>substitution filters</seealso>
    </indexterm></title>

  <para>ファイルやフォルダー比較の際、比較範囲を限定するためにファイルフィルターを使用することができます。
これは、比較結果から、あなたが興味のない差異を取り除きたい場合に便利です。 フィルターは、正規表現を元に規定します。 WinMerge は、ポピュラーな
PCRE (Perl Compatible Regular Expressions) 正規表現エンジンを使用しています。<indexterm>
      <primary>regular expressions</primary>

      <secondary>supported engine</secondary>
    </indexterm><indexterm>
      <primary>PCRE regular expression engine</primary>
    </indexterm><indexterm>
      <primary>regexp</primary>

      <see>regular expressions</see>
    </indexterm></para>

  <para>フィルターの基本機能はシンプルです。 通常比較されるであろう、それぞれのアイテム(フォルダー、ファイル、ファイル中の行)を評価し、
対象のアイテムがフィルター式にマッチした場合、フィルターを適用します。
フィルタータイプにより、アイテムは、比較に含められるか、除外されるかのどちらかです。</para>

  <para>フォルダー比較用とファイル比較用の異なるWinMergeフィルターがあります。</para>

  <variablelist>
    <varlistentry>
      <term>フォルダー比較: ファイルマスクとファイルフィルター<indexterm>
          <primary>フォルダーの比較</primary>

          <secondary>filtering</secondary>
        </indexterm></term>

      <listitem>
        <para>単純なファイルマスク、または、より複雑なフィルターにより、 ファイルフィルター中で指定された複数の規則を適用することで、
フォルダー比較中に含めるファイルを指定することができます。 ファイルマスクとファイルフィルターの両方を、同一の操作中で適用することができます。</para>

        <para>フィルターされるファイルやフォルダーは、デフォルトで隠されます。それは、典型的にあなたが望むものでしょう。フィルターされたアイテムを表示するには、<menuchoice><guimenu>表示</guimenu><guimenuitem>スキップされた項目の表示</guimenuitem></menuchoice>をクリックしてください。しかし、フォルダー比較ウィンドウは、それらについて最小限の情報しか表示しません。例えば、あなたは、スキップされたファイルがテキストファイルかバイナリファイルか判らないでしょう。</para>
      </listitem>
    </varlistentry>

    <varlistentry>
      <term>ファイル比較: 行フィルターと置換フィルター<indexterm>
          <primary>ファイルの比較</primary>

          <secondary>filtering</secondary>
        </indexterm></term>

      <listitem>
        <para>行フィルターは、ファイル比較操作のみに適用されます。 それにより、単一行の差異を無視することができます。</para>
        <para>置換フィルターは、ファイル比較操作のみに適用されます。 置換フィルターは、diffブロック内の文字列を指定された文字列に置換して比較し、
結果が一致する場合はそのdiffブロックを無視します。 これは、興味のない多数の変更を無視するのに役立ちます。</para>
      </listitem>
    </varlistentry>
  </variablelist>

  <section id="Filters_Mask">
    <title>ファイルマスクの使用<indexterm>
        <primary>file masks</primary>
      </indexterm><indexterm>
        <primary>フィルター</primary>

        <secondary>file masks</secondary>
      </indexterm><indexterm>
        <primary>フィルター</primary>

        <secondary>in folder comparisons</secondary>
      </indexterm></title>

    <para>フォルダー比較中に含める拡張子を指定する、1つか複数の <glossterm>ファイルマスク</glossterm>を使用することができます。
その他すべてのファイルは、選択から省かれます。</para>

    <section id="Filters_MaskApply">
      <title>ファイルマスクと定義と適用<indexterm>
          <primary>コマンドライン</primary>

          <secondary>ファイルマスクの適用</secondary>
        </indexterm></title>

      <para>フォルダー比較操作を実行時に、ファイルマスクを定義し適用する:</para>

      <itemizedlist>
        <listitem>
          <para>ファイルまたはフォルダーの選択ダイアログを使用しているなら、 <guilabel>1(左)</guilabel>と
<guilabel>2(右)</guilabel>のフォルダー選択後、 <guilabel>フィルター</guilabel>フィールドへ、
1つか複数のファイルマスクを入力してください。 マスクは、フォルダー比較操作を開始した時に適用されます。</para>
        </listitem>

        <listitem>
          <para>WinMergeのコマンドラインを使用している場合は、ファイルマスクを指定する
<option>-f</option>フラグ(次のセクションの例を参照)を使用してください。</para>
        </listitem>
      </itemizedlist>

      <para>フィールドやコマンドラインで、ファイルマスクとファイルフィルターの、 両方を指定することはできないことを憶えておいてください。</para>
    </section>

    <section id="Filters_MaskSyntax">
      <title>ファイルマスクの文法と例<indexterm>
          <primary>rules</primary>

          <secondary>file masks</secondary>
        </indexterm><indexterm>
          <primary>フィルター</primary>

          <secondary>file masks</secondary>
        </indexterm><indexterm>
          <primary>regular expressions</primary>

          <secondary>in file masks</secondary>
        </indexterm></title>

      <para>このシンタックスは、ファイルマスク用です:</para>

      <synopsis>[!](*.[<replaceable>拡張子</replaceable>]|<replaceable>フォルダーマスク</replaceable>\)[<replaceable>区切り文字</replaceable>[!](*.<replaceable>拡張子</replaceable>|<replaceable>フォルダーマスク</replaceable>\) ...]</synopsis>

      <para>有効な区切り文字はスペース、カンマ、コロン、セミコロンです。</para>

      <para>拡張子なしのマスク(<filename>*.</filename>)は、 <filename> <filename>README</filename>
</filename>の様な、拡張子なしのファイルを選択します。</para>

      <para>2.16.19 以降、感嘆符(<filename>!</filename>)  をマスクの前に付加した場合、そのマスクに一致したファイルは除外されます。
また、バックスラッシュ(<filename>\</filename>)をマスクの後に付加した場合、
そのマスクはファイルではなくフォルダーが対象となります。</para>

      <example>
        <title>ファイルマスク</title>

        <para>このコマンドラインの例では、フォルダー比較操作は、拡張子 <filename>xml</filename>か
<filename>txt</filename>のファイルのみを含みます。 その他すべてのファイルは省かれます:</para>

        <para><userinput>WinMergeU c:\project\docs c:\temp /f *.xml;*.txt</userinput></para>
      </example>

      <example>
        <title>フォルダーの除外(2.16.19以降)</title>

        <para>このコマンドラインの例では、フォルダー比較操作は、 <filename>.git</filename>と
<filename>.vs</filename>フォルダーを除外します:</para>

        <para><userinput>WinMergeU c:\project\docs c:\temp /f !.git\;!.vs\</userinput></para>
      </example>
    </section>
  </section>

  <section id="Filters_FileFilter">
    <title>ファイルフィルターの使用<indexterm>
        <primary>フィルター</primary>

        <secondary>ファイルフィルター</secondary>
      </indexterm><indexterm>
        <primary>フィルター</primary>

        <secondary>in folder comparisons</secondary>
      </indexterm></title>

    <para><glossterm>ファイルフィルター</glossterm>は、拡張子 <filename>flt</filename>のテキストファイルです。
これらは、フォルダー比較用の複数のフィルタールールを適用することを可能にします。
ファイルマスクと異なり、ファイルフィルターは、含むか除外、どちらかにマッチすることができます。</para>

    <para><indexterm>
        <primary>ファイルフィルター</primary>

        <secondary>template</secondary>
      </indexterm>
WinMergeは、たくさんの定義済ファイルフィルターをインストールします。
もし、必要なフィルターが、これらのファイルフィルターで提供されていなかったら、 自分自身で作成することができます。
タスクをもっと簡単にするために、WinMergeは、
<filename>FileFilter.tmpl</filename>という名前のテンプレートも提供しています。
このセクションは、比較にファイルフィルターを適用する方法と、ファイルフィルターの文法を説明します。 <xref
linkend="Filters_dlg" />では、フィルターの追加、編集、管理方法について説明します。</para>

    <section id="Filters_FileFilterLoc">
      <title>ファイルフィルターの場所<indexterm>
          <primary>Filters folders</primary>

          <secondary>locations</secondary>
        </indexterm><indexterm>
          <primary>ファイルフィルター</primary>

          <secondary>locations</secondary>
        </indexterm></title>

      <para>WinMergeは、次の場所のファイルフィルターを自動的に検出します:</para>

      <variablelist>
        <varlistentry>
          <term>WinMerge インストールフォルダーのFilters フォルダー</term>

          <listitem>
            <para>ここには、定義済ファイルフィルターがインストールされています。例えば、 <filename>C:\Program
Files\WinMerge\Filters</filename>。 システム上のすべてのユーザーに有効にするために、
ここにファイルフィルターを作成、または、コピーすることができます。</para>

            <para>新しいファイルフィルターを作る前に、定義済フィルターに必要なものが含まれているか確認してください。
含まれていない場合、定義済ファイルの中から役立つルールが見つかるかもしれません。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>デフォルトプライベートフィルターフォルダー</term>

          <listitem>
            <para>このフォルダーの場所は、WinMerge オプションの、システムページで定義されています。
デフォルトでは、あなたのユーザープロファイルフォルダーのサブフォルダーとして指定されています (Windows
10なら、<filename>Documents\WinMerge\Filters</filename>)。
通常、ここに作成、または、コピーされたフィルターは、 あなただけが見ることができます。
新しいファイルフィルターを作成したら、それらをプライベートにするために、 ここにコピーすることができます。</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>その他のフォルダーにあるファイルフィルターを適用する前に、 それらをインストールしなければなりません。</para>
    </section>

    <section id="Filters_FileFilterApply">
      <title>ファイルフィルターの適用<indexterm>
          <primary>ファイルフィルター</primary>

          <secondary>適用</secondary>
        </indexterm></title>

      <para>次のいくつかの方法で、ファイルフィルターを適用することができます:</para>

      <itemizedlist>
        <listitem>
          <para>ファイルまたはフォルダーの選択ダイアログから、フォルダー比較を起動した時:</para>

          <orderedlist>
            <listitem>
              <para><guilabel>1(左)</guilabel>と <guilabel>2(右)</guilabel>のフォルダー選択後、
<guilabel>フィルター</guilabel>フィールドの隣にある
<guibutton>選択</guibutton>ボタンをクリックしてください。</para>
            </listitem>

            <listitem>
              <para>フィルターダイアログで、ファイルフィルターを選択し、
<guilabel>フィルター</guilabel>フィールドへロードするには、ファイルフィルタータブを使用します。</para>

              <note>
                <para>ファイルフィルターが有効になっている(訳注: 何れかのファイルフィルターが選択されている状態)場合、選択されたファイルフィルターは、
<guilabel>フィルター</guilabel>フィールドへ既にロードされています。</para>
              </note>
              <para></para>
            </listitem>

            <listitem>
              <para>比較操作を続けてください。操作を開始した時、 <guilabel>フィルター</guilabel>フィールドのファイルが適用されます。</para>
            </listitem>
          </orderedlist>
        </listitem>

        <listitem>
          <para>フォルダー比較操作起動後(違うフィルターを適用した、 または、フィルターを無効にしてしまった時など)にファイルフィルターを変更するには:</para>

          <orderedlist>
            <listitem>
              <para><menuchoice> <guimenu>ツール</guimenu> <guimenuitem>フィルター</guimenuitem>
</menuchoice>をクリックしてください。</para>
            </listitem>

            <listitem>
              <para>フィルターダイアログで、新しいフィルターを設定し、 <guibutton>OK</guibutton>をクリックしてください。</para>
            </listitem>

            <listitem>
              <para>フィルターダイアログを閉じた時、新しいフィルターは自動では適用されません: フォルダー比較ウィンドウ中で新しい結果を見るには、
<keycap>F5</keycap>を押下してください。</para>
            </listitem>
          </orderedlist>
        </listitem>

        <listitem>
          <para><indexterm>
              <primary>コマンドライン</primary>

              <secondary>applying file filters</secondary>
            </indexterm>WinMerge コマンドラインから、
フォルダー比較起動時にファイルフィルターを指定するには、 <option>-f</option>フラグを使用してください。</para>
        </listitem>
      </itemizedlist>

      <para>フィールドやコマンドラインで、 ファイルマスクとファイルフィルターの両方を指定する ことはできないことを思い出してください。</para>
    </section>

    <section id="Filters_FileFilterSyntax">
      <title>ファイルフィルターの文法<indexterm>
          <primary>rules</primary>

          <secondary>file filter</secondary>
        </indexterm><indexterm>
          <primary>ファイルフィルター</primary>

          <secondary>syntax</secondary>
        </indexterm></title>

      <para>このセクションは、WinMerge ファイルフィルターの文法と、記述のためのガイドラインの提供について説明します。</para>

      <para>コメント記号は、 <code>##</code>です。 コメント記号の後にある、行内のすべての文字は無視されます。
WinMergeは、ルール中のほとんどの空白文字を無視します。
しかしながら、通常は、コメントの前に1つか複数の空白文字(スペースかタブ)が置かれるでしょう。 ルール中で、
<code>##</code>を文字列として使用するには、後ろの空白文字を取り除いてください。</para>

      <para>ファイルフィルターで、まずはじめに必要な2行は:</para>

      <variablelist>
        <varlistentry>
          <term>name</term>

          <listitem>
            <para>ファイルダイアログに表示されるフィルター名です</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>def</term>

          <listitem>
            <para>適用されるフィルタータイプです。次の値のうち、1つを指定してください:</para>

            <variablelist>
              <varlistentry>
                <term>include</term>

                <listitem>
                  <para>指定されたルールにマッチしたアイテム以外はすべて含めます。</para>
                </listitem>
              </varlistentry>

              <varlistentry>
                <term>exclude</term>

                <listitem>
                  <para>指定されたルールにマッチしたアイテム以外はすべて除外します。</para>

                  <para>excludeメソッドを選択した時は、サブフォルダーを指定する<guilabel>d</guilabel>(ディレクトリ)ルールも追加しなければなりません。このように、すべてのサブフォルダーを指定するのは、通常良いアイデアです:</para>

                  <screen>d: \\*$ ## Subfolders</screen>
                </listitem>
              </varlistentry>
            </variablelist>

            <tip>
              <para>これらの用語で混乱しないでください。ファイルフィルターの<guilabel>include</guilabel>ルールは、「何を含めるか」を指定するわけではありません。「何を<emphasis>含めない</emphasis>」かを指定します。同様に、<guilabel>exclude</guilabel>ルールは、「何を除外する」かを指定するわけではありません。「何を除外しないか」を指定します。</para>
            </tip>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>次に、フィルターファイルは、1つ以上のフィルタールールを含むべきです。 あなたは、たくさんのルールを好きなだけ追加できます。
1行には1つのルールがあるべきで、それぞれのルールは、 それぞれ1行にあるべきです(ルール中での改行は許可されません)。 (訳注:
回りくどいですが、「ルールは1行で記述してください」ということです。) それぞれのルールは、タイプデザイナー
<guilabel>f:</guilabel>か<guilabel>d:</guilabel>を含み、その後に、正規表現が続きます:</para>

      <variablelist>
        <varlistentry>
          <term>f: <replaceable>regexp</replaceable></term>

          <listitem>
            <para>ファイルにマッチ、または、</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>d: <replaceable>regexp</replaceable></term>

          <listitem>
            <para>フォルダーにマッチ</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>2.16.19 以降、 <guilabel>f:</guilabel> と <guilabel>d:</guilabel>
でマッチしたファイルまたはフォルダーの一部を除外するためのタイプデザイナー <guilabel>f!:</guilabel> と
<guilabel>d!:</guilabel> が使用できます。</para>

      <para>多くの正規表現の特殊文字の中で、次の文字は、ファイルフィルターでは特に重要です: <indexterm>
          <primary>regular expressions</primary>

          <secondary>special characters in filters</secondary>
        </indexterm><indexterm>
          <primary>regular expressions</primary>

          <secondary>in file filters</secondary>
        </indexterm></para>

      <variablelist>
        <varlistentry>
          <term>^ (行頭)</term>

          <listitem>
            <para>ルールが正しく動作するために頻繁に必要になります。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>$ (行末)</term>

          <listitem>
            <para>ルールが正しく動作するために頻繁に必要になります。例えば:</para>

            <screen>\.c$ ## 拡張子 
              <filename>c</filename>のファイルのみにマッチします。
              \.c ## <filename>cpp</filename>や 
              <filename>com</filename>のような、拡張子が 
              <filename>c</filename>で始まるファイルにマッチします。</screen>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>\ (エスケープ)</term>

          <listitem>
            <para>通常の文字を、特殊文字にマッチさせるために使います。 例えば、フォルダー名にマッチするために、 フォルダー区切り文字のバックスラッシュの前に、
バックスラッシュを置きます(<code>\\</code>)。 ファイル名中のドットにマッチするために、
バックスラッシュを指定し、その後にドットを置きます(<code>\.</code>)。</para>
          </listitem>
        </varlistentry>
      </variablelist>

      <para>特殊文字やワイルドカードは、ファイル名とマッチさせるためには、使用されません。
ある型のすべてのファイル名にマッチするためには、単にファイル名を省略します。</para>

      <para>ルールは、大文字・小文字を区別しません。例えば、 <code>f: \.bat$</code>は、
<filename>winmerge.bat</filename>と <filename>compare.BAT</filename>にマッチします。</para>

      <example>
        <title>ファイルフィルタールールの例</title>

        <para>シンプルなファイルフィルタールール:</para>

<screen>f: \.cpp$ ## <filename>*.cpp</filename>ファイルにマッチ
          f: \.h$ ## <filename>*.h</filename>ファイルにマッチ
          f: ^My ## <filename>My*.*</filename>ファイルにマッチ
          f: Dlg\. ## <filename>*Dlg.*</filename>ファイルにマッチ
          d: \\test$ ## <filename>test</filename>フォルダーにマッチ
          d: ^\\Build$ ## <filename>Build</filename>フォルダーマッチ
          d: Temp$ ## <filename>*Temp</filename>フォルダーにマッチ (例:<filename>FirstTemp</filename>)
          d: Src ## <filename>*Src*</filename>フォルダーにマッチ</screen><para>いくつかのルールは、もっと複雑な正規表現です:</para>

<screen format="linespecific">          f: ^\.#.*$ ## <filename>.#filename.version</filename>ファイル
          f: Dlg\.c(pp)?$ ## <filename>*Dlg.c</filename>と<filename>*Dlg.cpp</filename>ファイル
          f: ^I.*\.h$ ## <filename>I*.h</filename>ファイル
          f: Srv[1-9]\.def$ ## <filename>*Srv1.def</filename> から <filename>*Srv9.def</filename>ファイル
          f: ^[h,k,m] ## <filename>h*.*</filename>d、<filename>k*.*</filename>、<filename>m*.*</filename>ファイル</screen></example>
    </section>
  </section>

  <section id="Filters_LineFilter">
    <title>行フィルターの使用<indexterm>
        <primary>フィルター</primary>

        <secondary>行</secondary>
      </indexterm><indexterm>
        <primary>フィルター</primary>

        <secondary>in file comparisons</secondary>
      </indexterm></title>

    <para>ファイル比較で単一行を無視するために、行フィルターを使用することができます。 例えば、コメント、生成されたコードの決まった型や、
バージョン管理システムのタイムスタンプの様なものを無視するために、 行フィルターを使うかもしれません。各行フィルターは1つのルールです。
ファイル比較のために、たくさんの行フィルターを使用することができます。</para>

    <para>フィルターの追加、編集、管理については、 <xref linkend="Filters_dlg" />を参照してください。</para>

    <section id="Filters_LineFilterApply">
      <title>行フィルターの適用</title>

      <para>次の方法で、行フィルターを適用することができます:</para>

      <itemizedlist>
        <listitem>
          <para>ファイルまたはフォルダーの選択ダイアログから、 ファイル比較を起動する場合</para>

          <orderedlist>
            <listitem>
              <para><guilabel>1(左)</guilabel>と <guilabel>2(右)</guilabel>のファイル選択後、
<guilabel>フィルター</guilabel>フィールドの隣の <guibutton>選択</guibutton>をクリックしてください。</para>
            </listitem>

            <listitem>
              <para>フィルターダイアログで、使用したい行フィルターを有効化するため、 また、現在どの行フィルターが有効かを確認するには、行フィルタータブを使います。</para>

              <note>
                <para><guilabel>フィルター</guilabel>フィールドは、 どの行フィルターが有効化されているかを表示しません。</para>
              </note>
              <para></para>
            </listitem>

            <listitem>
              <para>ファイル比較操作を続けてください。 操作を開始した時に、有効化された行フィルターが適用されます。</para>
            </listitem>
          </orderedlist>
        </listitem>

        <listitem>
          <para>既に、ファイル比較操作を起動後 (違うフィルターを適用した、または、フィルターを無効にしてしまった時など)は、</para>

          <orderedlist>
            <listitem>
              <para><menuchoice> <guimenu>ツール</guimenu> <guimenuitem>フィルター</guimenuitem>
</menuchoice>をクリックしてください。</para>
            </listitem>

            <listitem>
              <para>ファイルフィルタータブを開いてください。</para>
            </listitem>

            <listitem>
              <para>あなたが適用したい行フィルターの行にチェックしてください。 また、適用したくないフィルターは、チェックを外してください。</para>

              <para><guibutton>新規</guibutton>、 <guibutton>編集</guibutton>、
<guibutton>削除</guibutton>ボタンを使用して、 フィルターを追加、編集、削除することもできます。</para>
            </listitem>

            <listitem>
              <para>行フィルター機能を有効にするには、 <guilabel>行フィルターを有効にする</guilabel>にチェックしてください。
行フィルター機能を無効にするには、チェックを外してください。</para>
            </listitem>

            <listitem>
              <para><guibutton>OK</guibutton>をクリックして、 ファイルフィルターダイアログを閉じてください。</para>
            </listitem>

            <listitem>
              <para><keycap>F5</keycap>を押下して変更を適用し、 ファイル比較ウィンドウをリフレッシュしてください。</para>
            </listitem>
          </orderedlist>
        </listitem>
      </itemizedlist>
    </section>

    <section id="Filters_LineFilterSyntax">
      <title>行フィルターの文法<indexterm>
          <primary>rules</primary>

          <secondary>line filter</secondary>
        </indexterm><indexterm>
          <primary>フィルター</primary>

          <secondary>行</secondary>
        </indexterm><indexterm>
          <primary>regular expressions</primary>

          <secondary>in line filters</secondary>
        </indexterm></title>

      <para>行フィルターは、行フィルタールールが有効化されている場合、 比較ファイル中の単一行の差異毎に評価されるルールです。
単一行の差異にルールがマッチした時、その差異は無視されます。</para>

      <para>無視された差異は、ファイル比較ウィンドウ中では、
<guilabel>無視された差異</guilabel>の色(WinMergeオプションの色ページで定義されている)  でマークされます。
これは、その他のタイプと無視された差異を区別できるようにします。 しかし、無視された差異は、選択やマージすることができません。</para>

      <para>行フィルターマッチは、2つの考えに基づいて記述されるかもしれません:</para>

      <itemizedlist>
        <listitem>
          <para>ルールが、行のある部分にマッチした時、差異全体が無視されます。 つまり、行の一部だけをフィルターすることはできません。
例えば、2つのファイルに、次の単一行の差異があると仮定した場合:</para>

          <formalpara>
            <title>File1:</title>

            <para><screen># Jean Sibelius</screen></para>
          </formalpara>

          <formalpara>
            <title>File2:</title>

            <para><screen># Janne Sibelius</screen></para>
          </formalpara>

          <para>フィルターなしの場合、行は差異として検出されます。 しかし、行フィルターを
<code>^#</code>の式とともに適用する場合、その行は同一であると評価されます。
なぜなら、式は、両方のファイルにマッチする最初の文字のみを指定しているからです。</para>
        </listitem>

        <listitem>
          <para>ルールは、すべての行にマッチした場合に、複数行差異に適用されます。例えば、次の2行の差異を考えてみてください:</para>

          <formalpara>
            <title>File1:</title>

            <para><screen># Jean Sibelius
# Pekka Himanen</screen></para>
          </formalpara>

          <formalpara>
            <title>File2:</title>

            <para><screen># Janne Sibelius
Pekka Himanen</screen></para>
          </formalpara>

          <para>同じ <code>^#</code>ルールは、1行目にマッチしますが、2行目にはマッチしません。 したがって、差異は無視されません。</para>
        </listitem>
      </itemizedlist>

      <tip>
        <para>パターンの正確さを制御するために、 行頭(<code>^</code>)と行末(<code>$</code>)
記号を使用することは、大抵、良い習慣です。 なぜなら、式が、行のある部分にマッチした場合に、 ルールが適用されるからです。</para>
      </tip>

      <example>
        <title>行フィルターサンプル</title>

<screen format="linespecific">^MYTAG$</screen><para>厳密に、 <literal>MYTAG</literal>にマッチする行をフィルターします</para>

<screen format="linespecific">^::</screen><para><literal>::</literal>で始まる行をフィルターします</para>

<screen format="linespecific">^/\*.*\*/$</screen><para><literal><constant>/*</constant></literal>で始まり、<literal>*/</literal>で終わる行をフィルターします</para>

<screen format="linespecific">^[1-5]00</screen><para>数字の、100、200、300、400、500 で始まる行をフィルターします</para>
      </example>

      <example>
        <title>CVS の Id 行にマッチする行フィルタールール</title>

        <para>CVS の Id 行は、次の様なものです:</para>

<screen>// $Id: Filters.xml 7591 2013-01-20 15:47:42Z christianlist $</screen><para>そしてこれは、次のルールでフィルターできます:</para>

<screen>^// \WId: .*\$</screen></example>

      <example>
        <title>poファイルの行コメントフィルター</title>

        <para>poファイルの行コメントは、次の様なものです:</para>

<screen>#: src/filename.c:766</screen><para>そしてこれは、次のルールでフィルターできます:</para>

<screen>^#</screen></example>
    </section>
  </section>

  <section id="Filters_SubstitutionFilter">
    <title>Using substitution filters<indexterm>
        <primary>フィルター</primary>

        <secondary>substitution</secondary>
      </indexterm><indexterm>
        <primary>フィルター</primary>

        <secondary>in file comparisons</secondary>
      </indexterm></title>

    <para>TBD</para>
  </section>

  <section id="Filters_dlg">
    <title>フィルターダイアログの使用<indexterm>
        <primary>Filters dialog</primary>
      </indexterm><indexterm>
        <primary>フィルター</primary>

        <secondary>managing and enabling</secondary>
      </indexterm></title>

    <para>このセクションは、ファイルフィルターと行フィルターの作成・管理機能を提供する、 フィルターダイアログの説明をします。</para>

    <para>フィルターダイアログを開くには、次の何れかの方法を使用してください:</para>

    <itemizedlist>
      <listitem>
        <para>ファイルまたはフォルダーの選択ダイアログで、 <guibutton>フィルター</guibutton>フィールドの右にある、
<guilabel>選択</guilabel>ボタンをクリックしてください。
フォルダー比較用のファイルフィルターを適用したい時は、方法を使用してください。</para>
      </listitem>

      <listitem>
        <para><menuchoice> <guimenu>ツール</guimenu> <guimenuitem>フィルター</guimenuitem>
</menuchoice>をクリックしてください。 この方法は、ファイルまたはフォルダーの選択ダイアログを開いている時以外に使用可能です。</para>
      </listitem>
    </itemizedlist>

    <para>フィルターダイアログには、それぞれの WinMergeフィルター用のタブがあります:</para>

    <variablelist>
      <varlistentry>
        <term>ファイルフィルター</term>

        <listitem>
          <para>フォルダー比較用のファイルフィルターを設定するには、このタブを選択してください。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Line Filters</term>

        <listitem>
          <para>ファイル比較用の行フィルターを設定するには、こちらのタブを使用してください。</para>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Substitution Filters</term>

        <listitem>
          <para>Choose this tab to work with substitution filters for file compare
operations.</para>
        </listitem>
      </varlistentry>
    </variablelist>

    <section id="Filters_FileFiltersTab">
      <title>ファイルフィルタータブの使用<indexterm>
          <primary>ファイルフィルター</primary>

          <secondary>enabling</secondary>
        </indexterm></title>

      <para>このタブの主要部分は、フォルダー比較用に利用可能なファイルフィルターの一覧です。 このリストは、共有、個人、そして、 <xref
linkend="Filters_FileFilterLoc" />で説明されている、
WinMergeが知り得るインストール済みのファイルフィルターを含んでいます。</para>

      <section id="Filters_FileFilterEnabling">
        <title>ファイルフィルターの有効化と無効化</title>

        <para>ファイルフィルターが、フォルダー比較操作で、それを有効にすること、 また、フィルターが使用され始めてから、
現在のフィルターを止めるために無効にすることを可能にしなければなりません:</para>

        <orderedlist>
          <listitem>
            <para>まだ、フィルターダイアログを開いていない場合は、開いてください</para>
          </listitem>

          <listitem>
            <para>ファイルフィルターを選択、もしくは、リストから <guimenuitem> &lt;なし&gt;</guimenuitem>を選択しくてださい。</para>
          </listitem>

          <listitem>
            <para><guibutton> OK</guibutton>をクリックして、 フィルターダイアログを閉じてください。</para>
          </listitem>
        </orderedlist>

        <para>ファイルフィルターを有効にした後でそれらを適用する方法が、いくつかあります。 詳細は、 <xref
linkend="Filters_FileFilterApply" />を参照してください。</para>
      </section>

      <section id="Filters_FileFilterCfg">
        <title>ファイルフィルターの設定</title>

        <para><guilabel>ファイルフィルター</guilabel>リストの管理と フィルターの新規作成には、これらのボタンを使用してください:</para>

        <variablelist>
          <varlistentry>
            <term>テスト</term>

            <listitem>
              <para>フィルターがどのように動作するか素早く確認するには、 リスト中のファイルフィルターを選択し、
<guibutton>テスト</guibutton>をクリックしてください。 詳細は、 <xref
linkend="Filters_TestingDlg" />を参照してください。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>インストール</term>

            <listitem>
              <para>ファイルフィルターを配置し、フィルターリストへ追加することができます。 ファイルフィルターは、それらをインストールしない限り、
共有フォルダー、デフォルトのプライベートフォルダーのどちらでも検出されません。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>新規</term>

            <listitem>
              <para>共有フォルダーかプライベートフィルターフォルダーのどちらかに、 ファイルテンプレートの新しいコピーを作成します。 <xref
linkend="Filters_CreatingFile" />で説明されているように、 テンプレートを編集、ルールの追加を行ってください。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>編集</term>

            <listitem>
              <para>デフォルトエディターでファイルを開くには、リスト中のファイルフィルターを選択し、
<guibutton>編集</guibutton>をクリックしてください。</para>
            </listitem>
          </varlistentry>

          <varlistentry>
            <term>削除</term>

            <listitem>
              <para>ファイルを削除しリストから取り除くには、 リスト中のファイルフィルターを選択し、
<guibutton>削除</guibutton>をクリックしてください。 これで、本当にファイルは削除されました。</para>
            </listitem>
          </varlistentry>
        </variablelist>

        <para><guibutton>OK</guibutton>をクリックして、 フィルターダイアログを閉じた時、変更は保存されます。
行フィルターは、Windowsのレジストリに保存されます。</para>
      </section>

      <section id="Filters_CreatingFile">
        <title>ファイルフィルターの作成</title>

        <para>WinMergeにインストール済のファイルフィルターが、 お望みのフィルターを提供していないなら、あなた自身で作成することができます:</para>

        <orderedlist>
          <listitem>
            <para><menuchoice> <guimenu>ツール</guimenu> <guimenuitem>フィルター</guimenuitem>
</menuchoice>をクリックしてください。 または、ファイルまたはフォルダーの選択ダイアログから、
<guibutton>フィルター</guibutton>フィールドの右にある、
<guilabel>選択</guilabel>ボタンをクリックしてください。</para>
          </listitem>

          <listitem id="Filters_New_step">
            <para>フィルターダイアログのファイルフィルタータブの、<guibutton>新規</guibutton>ボタンをクリックしてください。</para>
          </listitem>

          <listitem>
            <para>共有/プライベートフィルターダイアログで、 <guilabel>共有フィルター</guilabel>、または、
<guilabel>プライベートフィルター</guilabel> (これらを何に使用するかは、 <xref
linkend="Filters_FileFilterLoc" />を参照してください)を選択し、
<keycap>OK</keycap>をクリックしてください。</para>

            <para>お使いのシステムの共有、または、プライベートフォルダーが、 「新しいフィルターのファイル名を指定してください」ダイアログに開きます
(プライベートフォルダーが存在しない場合は、WinMergeが作成します)。</para>
          </listitem>

          <listitem>
            <para>「新しいフィルターのファイル名を指定してください」ダイアログで、 ファイル名を入力し
<guibutton>保存</guibutton>をクリックしてください。</para>

            <note>
              <para>既存のファイル名を選ばないでください: 既存のファイルを編集するには、 <xref linkend="Filters_New_step" />に戻って、
「新規」の代わりに、「編集」をクリックしてください。</para>
            </note>

            <para>WinMergeは、新しいファイルを、テンプレート: <filename>FileFilter.tmpl</filename>を用いて作成し、
デフォルトのテキストエディターでそれを開きます。</para>
          </listitem>

          <listitem>
            <para>テンプレートの編集は、テンプレートの指示に従って、 プレースホルダー名と説明の更新、 <xref
linkend="Filters_FileFilterSyntax" />で説明されている、 フィルタールールの追加を行ってください。
テキストエディターでファイルを保存してください。</para>

            <tip>
              <para>あなたが作成中のルールを、素早くテストしたい場合は、 フィルターダイアログの「テスト」ボタンをクリックしてみてください。 詳細は、<xref
linkend="Filters_TestingDlg" />を参照してください。</para>
            </tip>
            <para></para>
          </listitem>

          <listitem>
            <para>標準の<filename>フィルター</filename>フォルダーに、ファイルフィルターを作成したにも関わらず、フィルターダイアログがその新しいファイルフィルターを表示しない場合は、一度、<guibutton>OK</guibutton>をクリックしてダイアログを閉じてください。次に、<menuchoice><guimenu>ツール</guimenu><guimenuitem>フィルター</guimenuitem></menuchoice>をクリックし、再度ダイアログを開いてください。<guilabel>ファイルフィルター</guilabel>リストは、新しいファイルフィルターを含んでいるでしょう。</para>

            <para>お使いのシステム上の、別の場所にファイルを保存した場合、 あなたがインストールしない限り、WinMergeは、それを検出することができません。
システム上のどこかにあるファイルフィルターを検出させるには:</para>

            <orderedlist numeration="loweralpha">
              <listitem>
                <para>フィルターダイアログの <guibutton>インストール</guibutton>をクリックしてください。</para>
              </listitem>

              <listitem>
                <para>「インストールするファイルフィルターの位置」ダイアログで、システム上の <filename>flt</filename>ファイルを選択し、
<guibutton>開く</guibutton>をクリックしてください。
ファイルフィルターリストは、インストールされたファイルフィルターを含んでいるでしょう。</para>
              </listitem>
            </orderedlist>
          </listitem>
        </orderedlist>
      </section>

      <section id="Filters_TestingDlg">
        <title>ファイルフィルターのテスト<indexterm>
            <primary>ファイルフィルター</primary>

            <secondary>testing</secondary>
          </indexterm><indexterm>
            <primary>testing file filters</primary>
          </indexterm></title>

        <para>新しいルール作成や既存のルールの理解を補助するため、 サンプルデータに対し素早くファイルフィルターをテストするには、
テストフィルターダイアログを使用してください。 それは、フルで比較操作を走らせるより簡単です。</para>

        <para>フィルターダイアログから始めます:</para>

        <orderedlist>
          <listitem>
            <para>ファイルフィルタータブで、テストしたいファイルフィルターを選択してください。</para>
          </listitem>

          <listitem>
            <para>テストするルールを確認したい場合は、 <guibutton>編集</guibutton>をクリックしてください。
ファイルが開き、次のステップの間、内容を確認することができます。</para>
          </listitem>

          <listitem>
            <para><guibutton>テスト</guibutton>をクリックしてください。</para>
          </listitem>

          <listitem>
            <para>フィルターのテストダイアログで、テストするルールの型を選択してください:</para>

            <itemizedlist>
              <listitem>
                <para>ファイルフィルター中のファイルルール、 <guilabel>f:</guilabel>をテストするには、
<guilabel>フォルダー名</guilabel>オプションのチェックを外してください。</para>
              </listitem>

              <listitem>
                <para>フォルダールール、 <guilabel>d:</guilabel>をテストするには、
<guilabel>フォルダー名</guilabel>オプションにチェックを入れてください。</para>
              </listitem>
            </itemizedlist>
          </listitem>

          <listitem>
            <para>テスト用のテキストを入力してください。</para>

            <para>テキストは、テストするルールの型に適したものであるべきです。
例えば、<guilabel>フォルダー名</guilabel>オプションをチェックした場合、
あなたは「\temp」の様なフォルダー名を入力したいでしょう。</para>

            <para><guilabel>結果</guilabel>欄は、入力したテキストを、 次のどちらかのステータスと共に表示します:
<computeroutput>passed</computeroutput>、または、
<computeroutput>failed</computeroutput>。</para>
          </listitem>
        </orderedlist>
      </section>
    </section>

    <section id="Filters_LineFiltersTab">
      <title>行フィルタータブの使用<indexterm>
          <primary>line filters</primary>

          <secondary>enabling</secondary>
        </indexterm></title>

      <para>ファイル比較用の行フィルターの設定と有効化には、このタブを使用してください。
タブは、ルールの一覧を持っています。それぞれのルールは、1つの正規表現を含みます。
ファイル比較用に、リストから複数のルールを組み合わせて適用することができます。</para>

      <section id="Filters_LineFilterCfg">
        <title>行フィルターの設定</title>

        <para>下の <guilabel>正規表現</guilabel>リストには、 いつでもルールの追加、編集、削除に使うことのできる、編集欄とボタンがあります。</para>

        <para>新しいルールを追加するには:</para>

        <orderedlist>
          <listitem>
            <para><guibutton>新規</guibutton>ボタンをクリックしてください。 カーソルが自動的に編集欄へ移動します。</para>
          </listitem>

          <listitem>
            <para><guilabel>正規表現</guilabel>リストの下にある、編集欄に式を入力してください。</para>
          </listitem>

          <listitem>
            <para><guibutton>保存</guibutton>をクリックし、リストへ式を読み込んでください。</para>
          </listitem>
        </orderedlist>

        <para>既存のルールを編集するには:</para>

        <orderedlist>
          <listitem>
            <para>行を選択し、 <guibutton>編集</guibutton>をクリックしてください。</para>
          </listitem>

          <listitem>
            <para>編集欄の式を編集してください。</para>
          </listitem>

          <listitem>
            <para>編集が完了したら、<guibutton>保存</guibutton>をクリックしてください。<guibutton></guibutton></para>
          </listitem>
        </orderedlist>

        <para>ルールを削除するには、ルールを選択(チェック)し、 <guibutton>削除</guibutton>ボタンをクリックしてください。</para>
      </section>

      <section id="Filters_LineFilterEnabling">
        <title>行フィルターの有効化と無効化<indexterm>
            <primary>line filters</primary>

            <secondary>list of available</secondary>
          </indexterm></title>

        <orderedlist>
          <listitem>
            <para><guilabel>正規表現</guilabel>リストで、 適用したいフィルターにチェックを入れ、適用したくないフィルターはチェックを外すだけです。</para>
          </listitem>

          <listitem>
            <para><guilabel>行フィルターを有効にする</guilabel>オプションに チェックを入れるか、外してください。 行フィルターを有効にした場合、
<guilabel>正規表現</guilabel>リストで、現在チェックされているすべてのルールが使用されます。
行フィルターを無効にした場合、たとえそれらがチェックされていても、ルールは使用されません。</para>
          </listitem>

          <listitem>
            <para><guibutton>OK</guibutton>をクリックして、フィルターダイアログを閉じ、設定を保存してください。</para>
          </listitem>
        </orderedlist>

        <para>それらを有効にした後にファイルフィルターを適用する、いくつかの方法があります。 詳細は、 <xref
linkend="Filters_LineFilterApply" />を参照してください。</para>
      </section>
    </section>

    <section id="Filters_SubstitutionFiltersTab">
      <title>Using the Substitution Filters tab<indexterm>
          <primary>substitution filters</primary>

          <secondary>enabling</secondary>
        </indexterm></title>

        <para>TBD</para>

      <section id="Filters_SubstitutionFilterCfg">
        <title>Configuring substitution filters</title>

        <para>TBD</para>

      </section>

      <section id="Filters_SubstitutionFilterEnabling">
        <title>Enabling and disabling substitution filters<indexterm>
            <primary>substitution filters</primary>

            <secondary>list of available</secondary>
          </indexterm></title>

        <para>TBD</para>
      </section>
    </section>
  </section>

  <section id="AboutFilters_regexp">
    <title>正規表現のヘルプ<indexterm>
        <primary>regular expressions</primary>

        <secondary>getting help</secondary>
      </indexterm></title>

    <para>正規表現は、非常に複雑になり得ます。幸い、WinMerge
のほとんどのファイルフィルターは、このトピックの例からもわかるように、シンプルな範囲の表現です。
WinMergeと共にインストールされるフィルターファイルは、多くの役に立つ例を含んでいます。</para>

    <para>最後に、Web上には、正規表現を手助けする、これらのサイトを含むたくさんの情報源があります:</para>

    <variablelist>
      <varlistentry>
        <term>Good site devoted to regexps:</term>

        <listitem>
          <simpara><ulink
url="https://www.regular-expressions.info/">https://www.regular-expressions.info/</ulink></simpara>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>Tutorial:</term>

        <listitem>
          <simpara><ulink
url="http://www.zvon.org/comp/r/tut-Regexp.html">http://www.zvon.org/comp/r/tut-Regexp.html</ulink></simpara>
        </listitem>
      </varlistentry>

      <varlistentry>
        <term>PDF quick reference:</term>

        <listitem>
          <simpara><ulink
url="https://github.com/GordonMcKinney/gist-assets/raw/master/regex.pdf">
https://github.com/GordonMcKinney/gist-assets/raw/master/regex.pdf</ulink></simpara>
        </listitem>
      </varlistentry>
    </variablelist>
  </section>
</article>
