현상
주주총회 참석장(위임장 포함) HWP 파일의 2페이지에서,
본문 번호 목록(위임 사항 항목)과 뒤따르는 표(대리인 정보)가
같은 y 좌표 구간에 중첩 배치됩니다.
renderPageSvg() 와 renderPageToCanvas() 양쪽에서 동일하게 발생하므로
SVG/Canvas 렌더러가 아닌 레이아웃 엔진 단계의 좌표 계산 오류로 판단됩니다.
재현 방법
- 주주총회 참석장 양식 HWP 파일 (구조: 제목 → 표1(참석자) → 본문 위임사항 번호목록 → 표2(대리인정보))
- 웹 환경 —
@rhwp/core 0.7.2, renderPageSvg(1) / renderPageToCanvas(1, canvas, 1.0) 호출
- 2페이지
기대 결과
본문 번호 목록
- 정기주주총회 목적사항에 대한 의결권 행사
- 기타 정기주주총회 참석 등에 관한 일체의 행위
이 완전히 끝난 아래에 대리인 정보 표가 배치되어야 합니다.
실제 결과
renderPageSvg() 출력 SVG 좌표 분석 결과, 본문 텍스트와 표 셀이 동일 y 구간을 점유합니다.
y=894.69 표2 셀 영역 시작 (cell-clip-154/157)
y=926.02 표2 셀 텍스트 "성명: (인)" ← clip-path="url(#cell-clip-157)"
y=926.39 본문 "1) 정기주주총회..." ← clip-path 없음 (본문) ⚠ 0.37px 차이
y=945.48 본문 "2) 기타 정기주주..." ← clip-path 없음 (본문)
y=949.49 표2 셀 텍스트 "대리인 주소:" ← clip-path="url(#cell-clip-154)"
y=972.95 본문 마지막 줄
표2 clipPath 정의:
<clipPath id="cell-clip-154">
<rect x="82.4" y="894.6933" width="132.03" height="99.32"/>
</clipPath>
<clipPath id="cell-clip-157">
<rect x="214.43" y="894.6933" width="467.85" height="99.32"/>
</clipPath>
→ 표2 셀은 y=894~994 구간 점유
→ 본문 텍스트는 y=926~972 구간 점유
→ y=926~972 에서 두 블록 중첩
renderPageToCanvas()도 동일한 위치에서 겹침이 발생하여 SVG 렌더러만의 문제가 아님을 확인했습니다.
관련 이슈: #103 (비-TAC wrap=위아래 표 out-of-flow 레이아웃)과 유사한 맥락이나,
#103은 단락 간 비정상 gap 케이스이고 본 이슈는 겹침 케이스입니다.
##환경
- rhwp 버전: @rhwp/core 0.7.2
- 브라우저: Chrome 최신
- OS: Windows 11
현상
주주총회 참석장(위임장 포함) HWP 파일의 2페이지에서,
본문 번호 목록(위임 사항 항목)과 뒤따르는 표(대리인 정보)가
같은 y 좌표 구간에 중첩 배치됩니다.
renderPageSvg()와renderPageToCanvas()양쪽에서 동일하게 발생하므로SVG/Canvas 렌더러가 아닌 레이아웃 엔진 단계의 좌표 계산 오류로 판단됩니다.
재현 방법
@rhwp/core0.7.2,renderPageSvg(1)/renderPageToCanvas(1, canvas, 1.0)호출기대 결과
본문 번호 목록
이 완전히 끝난 아래에 대리인 정보 표가 배치되어야 합니다.
실제 결과
renderPageSvg()출력 SVG 좌표 분석 결과, 본문 텍스트와 표 셀이 동일 y 구간을 점유합니다.y=894.69 표2 셀 영역 시작 (cell-clip-154/157)
y=926.02 표2 셀 텍스트 "성명: (인)" ← clip-path="url(#cell-clip-157)"
y=926.39 본문 "1) 정기주주총회..." ← clip-path 없음 (본문) ⚠ 0.37px 차이
y=945.48 본문 "2) 기타 정기주주..." ← clip-path 없음 (본문)
y=949.49 표2 셀 텍스트 "대리인 주소:" ← clip-path="url(#cell-clip-154)"
y=972.95 본문 마지막 줄
표2 clipPath 정의: