Skip to content

Task #855: 어울림 Square wrap 표 아래로 흐르는 문단 누락 수정#856

Open
planet6897 wants to merge 1 commit into
edwardkim:develfrom
planet6897:task855
Open

Task #855: 어울림 Square wrap 표 아래로 흐르는 문단 누락 수정#856
planet6897 wants to merge 1 commit into
edwardkim:develfrom
planet6897:task855

Conversation

@planet6897
Copy link
Copy Markdown
Contributor

이슈

closes #855

증상

samples/21_언어_기출_편집가능본.hwp 14페이지 우측 단에서 [A] 묶음 박스(어울림 배치 3×2 표) 아래쪽 본문(pi=300, "최근에는 기존의 법학방법론적 논의와 …")이 렌더링되지 않고 페이지 흐름에서 통째로 누락.

원인

src/renderer/typeset.rs 의 어울림(Square wrap) 표 옆 문단 흡수 로직이 후속 문단의 첫 LINE_SEG 만 wrap zone(cs/sw)과 비교했음. pi=300 은 첫 줄만 표를 피해 들여쓰기되고 나머지 11줄은 표 아래 본문 전폭인데, 첫 줄 일치만으로 문단 전체를 "표 옆 0-높이 문단"으로 간주해 current_column_wrap_around_paras 에만 기록 + continue → 페이지 높이 미소비 → 누락.

수정

Table anchor 흡수 분기에서 후속 문단의 마지막 LINE_SEG 도 wrap zone 과 일치할 때(또는 빈 문단)만 0-높이 흡수. 불일치 시 wrap zone 종료 후 일반 텍스트 배치로 폴백 — LINE_SEG cs/sw 가 wrap 형상을 인코딩하므로 layout 이 첫 줄을 표 옆 들여쓰기, 나머지를 표 아래 전폭으로 정상 렌더. Picture anchor 경로·레이아웃·HWP3 파서 영향 없음.

  • 수정 파일: src/renderer/typeset.rs (1개 분기, +13줄)

후속 정합: engine.rs 의 동일 로직은 RHWP_USE_PAGINATOR=1 fallback 전용으로 본 PR 범위 외.

검증

  • cargo build/test/clippy --release 모두 통과 (테스트 1232+ 0 failed, clippy 0 경고)
  • dump-pages -p 13: 단 1 items 8→10, pi=300 정상 등장, diff −300.3px → −15.1px
  • export-svg -p 13 육안: [A] 박스 아래 본문 정상 렌더, pdf/21_언어_기출_편집가능본-2022.pdf 14p 단 구조와 일치
  • 전체 샘플(samples/, samples/basic/, samples/hwpx/) SVG 스팟체크 패닉 없음

어울림 표 옆 문단 흡수 시 첫 LINE_SEG 만 wrap zone 과 비교하여,
첫 줄만 표 옆이고 나머지가 본문 전폭으로 흐르는 문단(21_언어 14p pi=300)이
통째로 페이지 흐름에서 누락되던 문제 수정. 마지막 LINE_SEG 도 wrap zone 과
일치할 때만 0-높이 흡수하고, 불일치 시 일반 텍스트 배치로 폴백.

수정: src/renderer/typeset.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant