메인 콘텐츠로 건너뛰기
편의상, 요소(및 모든 상위 Group 요소)의 Properties 패널에서 어떤 검색 영역 제약 조건도 설정되어 있지 않다고 가정하겠습니다. 이 경우 프로그램이 Search Conditions 섹션의 제약 조건을 적용하기 전에, 해당 요소의 검색 영역은 페이지 사각형과 일치합니다. 해당 섹션에 추가 제약 조건이 없다면, 프로그램은 요소를 전체 페이지에서 찾습니다. 위의 Search Constraints에 설명된 1, 2, 4 유형의 제약 조건을 적용하면, 사각형들의 배열로 이루어진 검색 영역이 만들어집니다. 프로그램은 검색 영역이 이 배열 전체를 외접하는 하나의 사각형으로 구성된 것으로 간주하고, 그 안에서 지정된 사각형 집합(제외된 사각형)을 제외합니다. 위의 Search Constraints에 설명된 3 유형의 검색 제약 조건을 적용하면, 가설의 각 경계(왼쪽, 오른쪽, 위쪽, 아래쪽)에 대해 허용되는 좌표 범위가 생성됩니다. 각 경계는 해당 축에서의 좌표 범위, 예를 들어 [x1, x2] 또는 [y1, y2]로 표현됩니다. 여기서 x1과 x2는 XCoordinate 타입이고, y1과 y2는 YCoordinate 타입입니다. 축 구간은 다음 조건을 만족해야 합니다. X 좌표에 대해서는 x1 <= x2, Y 좌표에 대해서는 y1 <= y2. 여러 제약 조건이 하나의 경계에 연속해서 적용되면, 각 제약 조건이 해당 경계의 허용 좌표 범위를 변경합니다. Search Conditions 섹션에 다음과 같은 제약 조건이 포함되어 있다고 가정합니다:
  • LeftBound > 5mm,
  • LeftBound < 15mm,
  • LeftBound < 10mm.
위의 제약 조건이 적용되기 전에 검색 영역이 페이지의 사각형, 즉 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]과 일치한다고 가정합시다. 그러면 요소 경계의 좌표 범위는 다음과 같습니다. 검색 영역이 이러한 제약 조건이 실행되기 전에 지정되어 있지 않다고 가정합시다. 그러면, 단일 페이지 FlexiLayout(문서에서 허용되는 페이지 수의 최소값과 최대값이 1인 경우)에서는 검색 영역이 페이지의 사각형 [PageRect.Left, PageRect.Top, PageRect.Right, PageRect.Bottom]과 일치합니다. 다중 페이지 FlexiLayout의 경우, 검색 영역은 최대 크기 [-INF, -INF, INF, INF]를 갖습니다. 요소 경계의 좌표 범위는 다음과 같습니다:
Boundary단일 페이지 FlexiLayout에서의 범위다중 페이지 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 제약 조건이 실행되면, 왼쪽 경계만 변경됩니다. 가능한 값의 범위는 단일 페이지 FlexiLayout에서는 구간 [5mm, PageRect.Right], 다중 페이지 FlexiLayout에서는 구간 [5mm, INF]가 됩니다. LeftBound > 5mm 제약 조건이 적용된 후에는, 왼쪽 경계만 변경되며 그 허용 좌표 범위는 [5mm, PageRect.Right]가 됩니다. LeftBound < 15mm 제약 조건이 적용된 후에는, 왼쪽 경계에 허용되는 좌표 범위가 [5mm, 15mm]가 됩니다. LeftBound < 10mm 제약 조건이 적용된 후에는, 왼쪽 경계에 허용되는 좌표 범위가 [5mm, 10mm]가 됩니다. 이와 마찬가지로 요소의 다른 경계들에 대해서도 제약 조건을 설정할 수 있습니다. 검색 영역의 지정된 경계는 이른바 fuzzy rectangle을 형성합니다.