배경
#287 에서 큰 디스플레이 TAC 수식이 박스 좌상단으로 점프하는 버그를 수정했다. 수정 범위는 "빈 runs comp_line 에서의 TAC 인라인 처리 추가" 로 좁게 한정했고, x 계산은 col_area.x + effective_margin_left 만 사용한다.
본 Phase 2 에서는 빈 runs TAC 수식 줄의 x 정렬 을 다룬다.
증상
samples/exam_math_8.hwp SVG 의 큰 수식 a_{n+1} = { cases ... } 위치:
조사 결과 (#288 단계 1, 2026-04-24)
초기 가설("HWP composed text 에 \t 가 삽입되어 있음") 은 실측으로 틀림이 확인됨:
para.text = "(가) 모든 자연수 에 대하여\n\n이다."
\t 문자는 존재하지 않음
- line 1 의
runs=[] 는 "탭 탈락" 이 아니라 연속된 \n\n 사이에 큰 수식 TAC 이 삽입된 구조의 자연스러운 결과
- 큰 수식은
compose_paragraph 의 line 1 (char_range=[17,18)) 에 소속됨
따라서 이슈 원문의 접근 방향(A: 휴리스틱 tab 처리 / B: compose 에서 \t 보존) 모두 전제 무효.
상세: mydocs/working/task_m100_288_stage1.md
가설 재설정
한컴이 display 수식(단독 ls 차지)에 적용하는 것은 탭이 아닌 특수 정렬 규칙:
- 첫 탭 스톱 위치 사용 —
tab_def_id=6, tab[0] pos=13600 HU (=181 px) 등 tab_def 참조
- segment_width 기준 중앙 정렬 — ParaShape.alignment 무시, 수식 단독 줄은 중앙
- HWP 내부 "display equation" 특수 처리 — 고정 들여쓰기 또는 별도 로직
단계 2 계획 (규칙 역추정)
- 한컴 PDF 의 수식 x 와 "이다." x 를 정밀 측정 (PDF content stream 파싱 또는 렌더 이미지 좌표)
exam_math_008.hwp 등 동일 패턴을 가진 다른 문서에서 PDF 수식 x 교차 측정
- 측정값과 ParaShape/tab_def 파라미터의 관계를 회귀 분석해 규칙 확정
- 확정된 규칙을
paragraph_layout.rs 의 빈 runs TAC 처리 블록에 반영
검증 기준
samples/exam_math_8.hwp SVG 의 수식 x 가 PDF 와 ±2 px 이내
samples/exam_math.hwp 20페이지 회귀 없음
samples/equation-lim.hwp 회귀 없음
관련
배경
#287 에서 큰 디스플레이 TAC 수식이 박스 좌상단으로 점프하는 버그를 수정했다. 수정 범위는 "빈 runs comp_line 에서의 TAC 인라인 처리 추가" 로 좁게 한정했고, x 계산은
col_area.x + effective_margin_left만 사용한다.본 Phase 2 에서는 빈 runs TAC 수식 줄의 x 정렬 을 다룬다.
증상
samples/exam_math_8.hwpSVG 의 큰 수식a_{n+1} = { cases ... }위치:조사 결과 (#288 단계 1, 2026-04-24)
초기 가설("HWP composed text 에
\t가 삽입되어 있음") 은 실측으로 틀림이 확인됨:\t문자는 존재하지 않음runs=[]는 "탭 탈락" 이 아니라 연속된\n\n사이에 큰 수식 TAC 이 삽입된 구조의 자연스러운 결과compose_paragraph의 line 1 (char_range=[17,18)) 에 소속됨따라서 이슈 원문의 접근 방향(A: 휴리스틱 tab 처리 / B: compose 에서
\t보존) 모두 전제 무효.상세:
mydocs/working/task_m100_288_stage1.md가설 재설정
한컴이 display 수식(단독 ls 차지)에 적용하는 것은 탭이 아닌 특수 정렬 규칙:
tab_def_id=6, tab[0] pos=13600 HU (=181 px)등 tab_def 참조단계 2 계획 (규칙 역추정)
exam_math_008.hwp등 동일 패턴을 가진 다른 문서에서 PDF 수식 x 교차 측정paragraph_layout.rs의 빈 runs TAC 처리 블록에 반영검증 기준
samples/exam_math_8.hwpSVG 의 수식 x 가 PDF 와 ±2 px 이내samples/exam_math.hwp20페이지 회귀 없음samples/equation-lim.hwp회귀 없음관련
mydocs/working/task_m100_288_stage1.md