증상
samples/exam_eng.hwp 페이지 2에서:
- 좌측 단 하단에 위치해야 할 "이제 듣기 문제가 끝났습니다…" 안내 박스가 우하단으로 잘못 배치됨
- 우측 단 상단에 불필요한 여백 발생 (위 박스가 컬럼 1을 침범한 결과로 추정)
PDF(samples/exam_eng.pdf)와 SVG 출력이 상이.
원인 분석
src/renderer/layout/table_layout.rs::compute_table_x_position / compute_table_y_position:
- L942 —
HorzRelTo::Page를 col_area(컬럼) 기준으로 계산. 동일 시맨틱의 picture_footnote.rs:177는 body_area 사용. 표 경로만 불일치.
- L949 —
HorzAlign::Right에서 + h_offset (그림 경로는 - h_offset). 부호 오류로 페이지 우측을 벗어남.
- L994 —
VertRelTo::Page도 동일하게 col_area 기준. 주석은 'body area 기준'이라 적었으나 실제 코드는 col_area 사용.
표가 글앞으로(InFrontOfText) wrap이고 horz=Page=123mm + halign=Right이므로:
- 정상:
body_x + body_w - table_w - h_offset ≒ 31mm
- 현재: 컬럼 1 안에서 계산 + 부호 오류 → 우하단
영향 범위
HorzRelTo::Page + HorzAlign::Right (또는 Center) + 다단 문서 + 표(InFrontOfText/TopAndBottom 등)
- 단일 단(컬럼=본문) 문서에서는
col_area = body_area라 회귀 없이 동작했을 가능성
수정 방향
compute_table_x_position / compute_table_y_position에 body_area 파라미터 추가, picture_footnote와 동일한 시맨틱으로 통일.
증상
samples/exam_eng.hwp페이지 2에서:PDF(
samples/exam_eng.pdf)와 SVG 출력이 상이.원인 분석
src/renderer/layout/table_layout.rs::compute_table_x_position/compute_table_y_position:HorzRelTo::Page를col_area(컬럼) 기준으로 계산. 동일 시맨틱의picture_footnote.rs:177는body_area사용. 표 경로만 불일치.HorzAlign::Right에서+ h_offset(그림 경로는- h_offset). 부호 오류로 페이지 우측을 벗어남.VertRelTo::Page도 동일하게col_area기준. 주석은 'body area 기준'이라 적었으나 실제 코드는 col_area 사용.표가 글앞으로(
InFrontOfText) wrap이고 horz=Page=123mm + halign=Right이므로:body_x + body_w - table_w - h_offset≒ 31mm영향 범위
HorzRelTo::Page+HorzAlign::Right(또는 Center) + 다단 문서 + 표(InFrontOfText/TopAndBottom 등)col_area = body_area라 회귀 없이 동작했을 가능성수정 방향
compute_table_x_position/compute_table_y_position에body_area파라미터 추가, picture_footnote와 동일한 시맨틱으로 통일.