メインコンテンツへスキップ
便宜上、要素(およびその親の Group 要素)の Properties パネルで検索領域の制約が設定されていないものとします。この場合、プログラムが Search Conditions セクションの制約を適用する前は、その要素の検索領域はページの矩形と一致します。セクションに追加の制約がない場合、プログラムはページ全体で要素を検索します。 上記の Search Constraints で説明されているタイプ 1、2、4 の制約を適用すると、矩形の配列からなる検索領域が作成されます。プログラムは、その配列全体を外接する 1 つの矩形から、指定された矩形集合(除外矩形)を除外したものを検索領域と見なします。 上記の Search Constraints で説明されているタイプ 3 の検索制約を適用すると、仮説の各境界(左、右、上、下)に対して許容座標範囲が作成されます。各境界は対応する軸上の座標範囲、例えば [x1, x2] または [y1, y2] によって表されます。ここで x1 と x2 は XCoordinate 型、y1 と y2 は YCoordinate 型です。軸の区間は次の条件を満たす必要があります:X 座標では x1 <= x2、Y 座標では y1 <= y2 1 つの境界に対して複数の制約が連続して適用される場合、各制約がその境界の許容座標範囲を更新します。 Search Condition セクションに次の制約が含まれているとします:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 10mm.
上記の制約を適用する前に、検索領域がページの矩形、すなわち [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom] と一致しているとします。すると、要素境界の座標範囲は次のようになります: これらの制約を実行する前に検索領域が指定されていないとします。この場合、1 ページの FlexiLayout(ドキュメント内の許容ページ数の最小値と最大値が 1)のとき、検索領域はページの矩形 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom] と一致します。複数ページの FlexiLayout の場合、検索領域は最大サイズ [-INF, -INF, INF, INF] となります。要素境界の座標範囲は次のとおりです:
BoundaryRange for one-page FlexiLayoutRange for multi-page FlexiLayout
LeftBound[PageRect.Left, PageRect.Right][-INF, INF]
TopBound[PageRect.Top, PageRect.Bottom][-INF, INF]
RightBound[PageRect.Left, PageRect.Right][-INF, INF]
BottomBound[PageRect.Top, PageRect.Bottom][-INF, INF]
制約 LeftBound > 5mm を実行すると、左境界のみが変化します。1 ページの FlexiLayout ではその取り得る値の範囲は区間 [5mm, PageRect.Right] となり、複数ページの FlexiLayout では区間 [5mm, INF] となります。 LeftBound > 5mm の制約を適用した後は、左境界のみが変化し、その許容座標は [5mm, PageRect.Right] になります。 LeftBound < 15mm の制約を適用した後、左境界の許容座標範囲は [5mm, 15mm] になります。 LeftBound < 10mm の制約を適用した後、左境界の許容座標範囲は [5mm, 10mm] になります。 同様に、要素の他の境界に対しても制約を設定できます。 指定された検索領域の境界は、いわゆる fuzzy rectangle を形成します。