You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
samples/exam_kor.hwp 14페이지 우측 단 시작부에 줄간격이 일정하지 않게 보임. pi=50 (Square wrap 인라인 3×2 표 호스트) 직후 pi=51 부터 모든 문단이 baseline (~13.04 px ≈ 978 HU) 만큼 위로 시프트되어 렌더링됨.
→ pi=50 (Square wrap host, layout_partial_paragraph 경로) 은 baseline 포함 정상.
→ pi=51 부터 (layout_paragraph 경로) baseline 누락.
시각 영향
pi=50 line 2 → pi=51 line 0 경계 간격: 11.73 px (정상 24.51 의 절반 미만). 사용자 시야에서 "줄간격이 줄어들었다" 는 인상.
문단 내부 (pi=51 line 0 → line 1) 간격은 24.51 정상. 모든 후속 문단이 baseline 만큼 일관되게 시프트되어 있어 페이지 끝까지 누적은 없으나 pi=50 → pi=51 경계 한 군데에서 시각적 결함 노출.
본질
좌측 단도 동일 패턴: pi=33/37/40/47 (Square wrap host) 직후 문단에서 동일한 11~12 px 좁은 간격 관측. 즉 Square wrap 인라인 표 호스트 직후 문단 일반 케이스에 영향.
추정 원인: vpos 보정 (Task #412/#332 경로) 으로 y_offset 이 `col_area.y + (vpos_end - base) / 75` 로 설정되어 "다음 문단 첫 줄의 top" 위치가 됨. 이후 `layout_composed_paragraph` 의 y_start 가 baseline 포함 좌표로 사용되어야 하는데 top 좌표로 들어와 baseline 보강이 누락되는 것으로 추정.
대조: layout_partial_paragraph (wrap host 전용) 의 wrap_around 경로는 vpos 를 직접 받아 내부에서 baseline 추가하여 정상 렌더.
증상
samples/exam_kor.hwp14페이지 우측 단 시작부에 줄간격이 일정하지 않게 보임. pi=50 (Square wrap 인라인 3×2 표 호스트) 직후 pi=51 부터 모든 문단이 baseline (~13.04 px ≈ 978 HU) 만큼 위로 시프트되어 렌더링됨.측정
```bash
target/release/rhwp export-svg samples/exam_kor.hwp -p 13 -o /tmp/p14
target/release/rhwp dump-pages samples/exam_kor.hwp -p 13
```
→ pi=50 (Square wrap host, layout_partial_paragraph 경로) 은 baseline 포함 정상.
→ pi=51 부터 (layout_paragraph 경로) baseline 누락.
시각 영향
pi=50 line 2 → pi=51 line 0 경계 간격: 11.73 px (정상 24.51 의 절반 미만). 사용자 시야에서 "줄간격이 줄어들었다" 는 인상.
문단 내부 (pi=51 line 0 → line 1) 간격은 24.51 정상. 모든 후속 문단이 baseline 만큼 일관되게 시프트되어 있어 페이지 끝까지 누적은 없으나 pi=50 → pi=51 경계 한 군데에서 시각적 결함 노출.
본질
좌측 단도 동일 패턴: pi=33/37/40/47 (Square wrap host) 직후 문단에서 동일한 11~12 px 좁은 간격 관측. 즉 Square wrap 인라인 표 호스트 직후 문단 일반 케이스에 영향.
추정 원인: vpos 보정 (Task #412/#332 경로) 으로 y_offset 이 `col_area.y + (vpos_end - base) / 75` 로 설정되어 "다음 문단 첫 줄의 top" 위치가 됨. 이후 `layout_composed_paragraph` 의 y_start 가 baseline 포함 좌표로 사용되어야 하는데 top 좌표로 들어와 baseline 보강이 누락되는 것으로 추정.
대조: layout_partial_paragraph (wrap host 전용) 의 wrap_around 경로는 vpos 를 직접 받아 내부에서 baseline 추가하여 정상 렌더.
조사 영역
회귀 위험
vpos 보정 + paragraph y 좌표 의미 변경은 다단/단일단/표분할 상호작용에 광범위 영향. 다음 샘플 회귀 점검 필요:
우선순위
M100 — exam_kor 14p 시각 결함의 직접 원인. exam_kor 17p (Issue #528 PUA 옛한글) 와 별개.