Skip to content

미주(해설) 다줄 문단 줄간격 간헐적 좁음 수정 (closes #1236)#1240

Merged
edwardkim merged 1 commit into
edwardkim:develfrom
planet6897:feature/issue-1236-endnote-line-spacing
Jun 2, 2026
Merged

미주(해설) 다줄 문단 줄간격 간헐적 좁음 수정 (closes #1236)#1240
edwardkim merged 1 commit into
edwardkim:develfrom
planet6897:feature/issue-1236-endnote-line-spacing

Conversation

@planet6897

Copy link
Copy Markdown
Contributor

요약

풀이(미주) 페이지에서 줄간격이 간헐적으로 좁아지는 문제(#1236)를, 다줄 미주 문단 마지막 줄의 trailing 줄간격을 조건 게이트로 적용하여 수정.

원인

paragraph_layout.rs 의 다줄 미주 문단(endnote_line_vpos_base, end>start_line+1) 줄 배치에서 마지막 줄의 trailing 줄간격(line_spacing)을 0으로 떨어뜨림. 단일줄·일반 문단은 줄간격을 항상 더해 정상 → 다줄 미주 문단 경계에서만 간헐적 좁음(예: 12쪽 문19 "하면→f'(x)" 14.1px vs 정상 20px).

수정 (조건 게이트)

무조건 줄간격 추가는 issue_1139/1189(문제-사이 margin·페이지네이션) 회귀를 유발(미주 문단 높이가 페이지네이션과 결합, 메모리 #1022 경고). 따라서 "다음 문단이 같은 미주(문제) 내 연속 문단"일 때만 적용:

파일 변경
layout.rs endnote_para_has_same_endnote_successor()endnote_para_sources(section,para,control)_index 비교
paragraph_layout.rs 마지막 줄 게이트: line_idx+1 < end || 같은_미주_연속

문제 경계(미주 마지막 문단, between-notes margin) → 0 유지 → 중복 가산·회귀 차단.

검증

항목 결과
문19 "하면→f'(x)" 14.1 → 20.1px (PDF 정합)
지적 페이지 narrow(13~16px) 10쪽 1→0, 11쪽 3→0, 12쪽 4→0, 14쪽 3→1
미주 정밀 테스트(issue_1139/1189) 전부 통과
전체 cargo test 1933 passed, 0 failed
골든 스냅샷 / 페이지수 8 passed / 불변

후속 이슈 (별개 root cause)

closes #1236

## 문제
풀이(미주) 페이지에서 줄간격이 간헐적으로 좁아짐(예: 3-11월_실전 12쪽 문19
"하면→f'(x)" 14.1px vs 정상 20px). 전역이 아니라 특정 줄 전환에서만 발생.

## 원인
paragraph_layout.rs 의 다줄 미주 문단(endnote_line_vpos_base, end>start_line+1)
줄 배치에서 마지막 줄의 trailing 줄간격(line_spacing)을 0으로 떨어뜨림. 단일줄·
일반 문단은 줄간격을 항상 더해 정상 → 다줄 미주 문단 경계에서만 간헐적 좁음.

## 수정 (조건 게이트)
무조건 줄간격 추가는 issue_1139/1189(문제-사이 margin, 페이지네이션) 회귀를 유발
(미주 문단 높이가 페이지네이션과 결합). 따라서 "다음 문단이 같은 미주(문제) 내
연속 문단"일 때만 마지막 줄 줄간격을 적용:
- layout.rs: endnote_para_has_same_endnote_successor() — endnote_para_sources 의
  (section,para,control)_index 비교로 같은 미주 연속 판별.
- paragraph_layout.rs: 마지막 줄 게이트 line_idx+1<end || 같은_미주_연속.
문제 경계(미주 마지막 문단, between-notes margin)는 0 유지 → 회귀 차단.

## 검증
- 문19 14.1→20.1px(PDF 정합). 지적 페이지 narrow(13~16px): 10쪽 1→0, 11쪽 3→0,
  12쪽 4→0, 14쪽 3→1.
- 전체 cargo test 1933 passed 0 failed(issue_1139/1189 미주 테스트 포함),
  골든 스냅샷 8 passed, 페이지수 불변.

## 후속 이슈(별개 root cause)
- edwardkim#1238 미주 문제 제목 앞 between-notes margin 누락(문22 등).
- edwardkim#1239 수식 다행(S=…) 줄 병합(문20).
@edwardkim edwardkim self-requested a review June 2, 2026 07:52
@edwardkim edwardkim added the enhancement New feature or request label Jun 2, 2026
@edwardkim edwardkim added this to the v1.0.0 milestone Jun 2, 2026
@edwardkim edwardkim merged commit 1b3fc30 into edwardkim:devel Jun 2, 2026
7 checks passed
@edwardkim

Copy link
Copy Markdown
Owner

메인테이너 검증 완료했습니다.

확인 내용:

  • PR #1240을 현재 devel 기준 검증 브랜치에 병합해 확인했습니다.
  • cargo fmt --all --check 통과
  • cargo test --lib 통과
  • cargo test --tests 통과
  • WASM 빌드 통과
  • rhwp-studio 빌드 통과
  • samples/3-11월_실전_통합_2022.hwpx 10/11/12/14쪽 SVG 및 웹 캔버스 시각 판정 통과

미주 다줄 문단의 줄간격 압축 문제가 해결된 것으로 확인되어 devel에 반영했습니다.

기여 감사합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants