Skip to content

[Bug] 본문 번호 목록과 표가 같은 y 구간에 중첩 배치됨 — 레이아웃 엔진 오류 (SVG/Canvas 공통) #157

@SBKIM9704

Description

@SBKIM9704

현상

주주총회 참석장(위임장 포함) HWP 파일의 2페이지에서,
본문 번호 목록(위임 사항 항목)과 뒤따르는 표(대리인 정보)가
같은 y 좌표 구간에 중첩 배치됩니다.
renderPageSvg()renderPageToCanvas() 양쪽에서 동일하게 발생하므로
SVG/Canvas 렌더러가 아닌 레이아웃 엔진 단계의 좌표 계산 오류로 판단됩니다.

재현 방법

  1. 주주총회 참석장 양식 HWP 파일 (구조: 제목 → 표1(참석자) → 본문 위임사항 번호목록 → 표2(대리인정보))
  2. 웹 환경 — @rhwp/core 0.7.2, renderPageSvg(1) / renderPageToCanvas(1, canvas, 1.0) 호출
  3. 2페이지
Image

기대 결과

본문 번호 목록

  1. 정기주주총회 목적사항에 대한 의결권 행사
  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

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions