Skip to content

미주 연속 인라인 수식 다행 병합 해소 (closes #1239)#1241

Merged
edwardkim merged 1 commit into
edwardkim:develfrom
planet6897:feature/issue-1239-equation-multiline-merge
Jun 2, 2026
Merged

미주 연속 인라인 수식 다행 병합 해소 (closes #1239)#1241
edwardkim merged 1 commit into
edwardkim:develfrom
planet6897:feature/issue-1239-equation-multiline-merge

Conversation

@planet6897

Copy link
Copy Markdown
Contributor

요약

미주 문단의 연속 인라인 수식(treat-as-char)이 한컴 LINE_SEG 경계를 무시하고 한 줄로 병합되던 문제를 해소합니다.

samples/3-11월_실전_통합_2022.hwpx 13쪽 문20 S=∫…=…=…=17 정렬 블록이 PDF(한글 2022)는 5줄인데 rhwp는 빈 줄 + 2수식 병합으로 4줄 출력되던 증상.

근본 원인

  • S= 블록은 단일 미주 문단으로 텍스트 char 없이 줄마다 인라인 수식(U+FFFC)만 존재.
  • model/paragraph.rs::control_text_positions 가 한 char_offsets 갭의 연속 컨트롤을 모두 같은 position 으로 복원 → 사이 텍스트 char 없는 연속 수식이 같은 position → char 기반 줄 배정이 둘을 같은 줄로 병합, 직전 LINE_SEG는 공백.

수정

검증

항목 결과
문20 S= 블록 5줄 분리, PDF(한글 2022) 13쪽 정확 일치
페이지 전체(문20·21·23) 무영향
골든 스냅샷(수식 카나리아) 8 passed
전체 cargo test 1933 passed, 0 failed

closes #1239

@edwardkim edwardkim self-requested a review June 2, 2026 07:53
@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
문20 'S=∫…=…=…=17' 정렬 블록(단일 미주 문단)에서 사이 텍스트 char 없는 연속
인라인 수식(treat-as-char)이 한 줄로 병합되고 직전 LINE_SEG가 공백이 되던 문제.

원인: control_text_positions가 한 char_offsets 갭의 연속 컨트롤을 모두 같은
position으로 복원 → char 기반 줄 배정이 둘을 같은 줄에 둠. 한컴 LINE_SEG는 별도 줄.

수정: 편집/커서 공유 핵심 함수는 보존하고, 렌더 줄 배정에서만
equation_only_tac_line_assignment()로 LINE_SEG 경계 기반 m:n 분배(edwardkim#1221 1:1 일반화).
게이트는 전 줄 빈 runs + char_start 비구분으로 좁혀 일반 문단 무영향.

검증: 문20 5줄 분리 PDF(한글2022) 13쪽 정확 일치. 골든 8 passed, 전체 1933 passed.
@planet6897 planet6897 force-pushed the feature/issue-1239-equation-multiline-merge branch from 929a7c1 to 3af90e8 Compare June 2, 2026 11:33
@edwardkim edwardkim merged commit b1c4b45 into edwardkim:devel Jun 2, 2026
7 checks passed
@edwardkim

Copy link
Copy Markdown
Owner

@planet6897 감사합니다. PR #1241은 메인테이너 검증을 통과해 devel에 반영했습니다.

확인한 내용:

이번 변경은 미주 수식-only 문단의 연속 TAC 줄 배정을 렌더링 단계에서 잘 보정하고 있고, 편집/커서 모델 쪽 공유 함수는 흔들지 않아 수용 가능한 방향으로 판단했습니다.

검증 중 발견한 HWPX 글상자 세로쓰기 미구현 건은 PR 범위와 분리해 #1249로 등록했습니다.

연결 이슈 #1239는 완료 처리하겠습니다.

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