Skip to content

shortcut.hwp 페이지 2~7 헤더 TAC 1x1 표 후속 spacing 누락 (~13-33px 압축) #770

@planet6897

Description

@planet6897

본질

samples/basic/shortcut.hwp 페이지 27 의 헤더 zone (1x1 TAC 표 + 후속 PartialParagraph) 이 PDF 권위(한글 2022) 대비 1333 px 짧음. 본문이 위쪽으로 압축되어 PDF 정합 미달.

재현

cargo run --release --bin rhwp -- export-svg samples/basic/shortcut.hwp -o /tmp/shortcut-svg
cargo run --release --bin rhwp -- dump-pages samples/basic/shortcut.hwp

진단 (정적 분석)

dump-pages 단 0 (헤더 zone) used vs hwp_used diff

페이지 items rhwp used hwp_used diff
1 1 (FullParagraph pi=0) 69.1 px 53.1 px +16.0 (헤더 paragraph 자체)
2 2 (Table pi=36 + PartialParagraph) 27.3 px 47.1 px -19.8
3 2 (Table pi=81 + PartialParagraph) 30.5 px 53.5 px -23.0
4 1 (FullParagraph pi=94) 20.0 px 53.3 px -33.3
5 3 40.0 px 53.3 px -13.3
7 1 20.0 px 53.3 px -33.3

페이지 27 의 헤더 zone 모두 hwp_used 보다 **1333 px 부족**.

PDF 권위 자료 비교

PDF 페이지 2 (pdf/basic/shortcut-2022.pdf) 헤더 ('파일') ~ 본문 ('새 문서') 거리 ≈ 60 px.
rhwp 페이지 2 의 동일 거리 ≈ 21 px.
→ rhwp 가 PDF 보다 약 40 px 압축.

시각 비교

  • PDF: 헤더 표 아래 여백 충분, 본문 항목들 충분히 spaced
  • rhwp: 헤더 표 바로 아래 본문 시작, 압축된 모습

IR 검증

영향 paragraph (예: pi=36) 의 IR:

  • TAC 1x1 표 (보기/파일/입력 등 헤더 표)
  • ParaShape: 동일 ps_id 사용
  • LINE_SEG: vpos / lh / ls 정상

→ IR 자체 문제 아님. layout 단계의 TAC 표 후속 spacing 산출 결함.

Root cause 가설 (정적 분석)

src/renderer/layout.rs 또는 src/renderer/layout/paragraph_layout.rs 의 TAC 1x1 표 host paragraph 처리에서:

  1. 표 높이 + 표 아래 여백 (outer_margin_bottom + spacing_after) 산출 누락
  2. 또는 PartialParagraph (line 1..2) 이 표 본체와 결합되어 표 아래 여백 차감
  3. 또는 pending_body_wide_top_reserve 등의 계산이 헤더 zone 에서 부족

영향 범위

  • samples/basic/shortcut.hwp 페이지 2~7 (Distribute 다단 헤더 표)
  • 다른 샘플 중 동일 패턴 (TAC 1x1 헤더 표 + 후속 다단 본문) 가능성

우선순위

Task #768 (column-break wrap-around) PR merge 후 별도 task 로 진행. 본 결함은 페이지 분배 영역과 무관한 paragraph height/spacing 영역.

관련 자료

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