Skip to content

BehindText/InFrontOfText 표가 paragraph 높이에 포함되어 trailing 항목이 다음 페이지로 밀림 (calendar_year, 통합재정통계) #703

@planet6897

Description

@planet6897

증상

  • samples/basic/calendar_year.hwp: HWP/PDF 1페이지인데 SVG 2페이지 (마지막 PushButton 'pi=12' 가 page 2 로 밀림)
  • samples/통합재정통계(2010.11월).hwp, (2011.10월).hwp: HWP/PDF 1페이지인데 SVG 2페이지 (마지막 빈 paragraph pi=14 가 page 2 로 밀림)

정량 분석 결과

파일 누적 height drift 부족분 (trailing pi fit 검사)
calendar_year +31.8 px (24 px 가 pi=1 단일 문단) 18.96 px
통합재정통계 +5.9 px 0.84 px

Root cause

src/renderer/height_measurer.rs 가 BehindText / InFrontOfText 표를 paragraph 높이에서 제외하지 않음.

  • grep -n 'BehindText\|InFrontOfText' src/renderer/height_measurer.rs 결과 0 건
  • pagination/engine.rs:976typeset.rs 의 process_controls 는 BehindText 표를 'Shape처럼 push 후 continue' 로 본문 흐름 제외
  • 그러나 paragraph 측정 단계에서 캐리어 paragraph 의 measured height 에 표 outer_margin 또는 line_height 가 포함되어 cur_h 누적 시 잘못된 값 가산

calendar_year 의 pi=1 (글뒤로 1×1 wrapper 표를 가진 빈 문단):

  • HWP 기여: lh+ls = 1600 HU = 21.33 px (라인 한 줄)
  • 렌더러 기여: 45.10 px (+23.77 px excess)

추정 정정 위치

src/renderer/height_measurer.rs 의 measure_paragraph (또는 동등 함수) — 컨트롤 순회 시 treat_as_char=false && wrap in (BehindText, InFrontOfText) 인 표/도형은 paragraph 높이에 가산하지 않도록 분기 추가.

회귀 검증 대상

  • 196 샘플 SVG/PDF 비율 표 (/tmp/svg_vs_pdf.tsv)
  • 영향 받을 가능성: 글뒤로 표 사용 문서 (워터마크/배경 box)

관련 분석 자료

이번 분석 컨버세이션 (svg_vs_pdf 비율 ≥1.5× 5건 중 calendar_year/통합재정통계)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions