미주 연속 인라인 수식 다행 병합 해소 (closes #1239)#1241
Merged
edwardkim merged 1 commit intoJun 2, 2026
Merged
Conversation
문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.
929a7c1 to
3af90e8
Compare
Closed
Owner
|
@planet6897 감사합니다. PR #1241은 메인테이너 검증을 통과해 확인한 내용:
이번 변경은 미주 수식-only 문단의 연속 TAC 줄 배정을 렌더링 단계에서 잘 보정하고 있고, 편집/커서 모델 쪽 공유 함수는 흔들지 않아 수용 가능한 방향으로 판단했습니다. 검증 중 발견한 HWPX 글상자 세로쓰기 미구현 건은 PR 범위와 분리해 #1249로 등록했습니다. 연결 이슈 #1239는 완료 처리하겠습니다. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
요약
미주 문단의 연속 인라인 수식(treat-as-char)이 한컴 LINE_SEG 경계를 무시하고 한 줄로 병합되던 문제를 해소합니다.
samples/3-11월_실전_통합_2022.hwpx13쪽 문20S=∫…=…=…=17정렬 블록이 PDF(한글 2022)는 5줄인데 rhwp는 빈 줄 + 2수식 병합으로 4줄 출력되던 증상.근본 원인
model/paragraph.rs::control_text_positions가 한 char_offsets 갭의 연속 컨트롤을 모두 같은 position 으로 복원 → 사이 텍스트 char 없는 연속 수식이 같은 position → char 기반 줄 배정이 둘을 같은 줄로 병합, 직전 LINE_SEG는 공백.수정
control_text_positions)는 보존하고, 렌더 줄 배정에서만equation_only_tac_line_assignment()로 LINE_SEG 경계 기반 m:n 분배(HWP5 표 셀 세로정렬/줄높이 정합 — z-표 행 압축·열 정렬 어긋남 (3-09월_교육_통합_2023 4쪽 문26) #1221 의 줄수==tac수 1:1 매핑 일반화).검증
cargo testcloses #1239