현상
samples/21_언어_기출_편집가능본.hwp 의 9곳에서 "[X~Y] 다음 글을 읽고 물음에 답하시오." 와 다음 문단(지문 시작) 사이 줄간격이 한컴 PDF 대비 좁게 보임.
위치: 2p [46], 4p [79], 5p [1012], 7p [1315], 8p [1618], 10p [1921], 11p [2224], 13p [2527], 14p [28~30].
측정 (페이지 2 [4~6] 대표)
- pi=44 "[4~6] 다음 글을 읽고..." vpos=0, ps_id=10, line=165%, lh=1100, ls=716
- pi=45 (빈 paragraph) vpos=1816, ps_id=35, line=60%, ls=−440 (음수)
- pi=46 "15세기 초 브루넬레스키..." vpos=2476
SVG 측정:
- pi=44 baseline y=222.23
- pi=46 baseline y=255.24
- gap = 33.01 px = 2476 HU (IR 와 정확 일치)
→ rhwp 는 IR vpos 정확 따름. 한컴 PDF 가 더 넓다면 한컴은 60% 음수 ls 를 다르게 처리.
의심 본질
- 빈 paragraph + 60% 줄간격 (음수 ls): HWP 명세 vs 한컴 실제 동작 차이.
- rhwp: lh + ls = 1100 + (-440) = 660 HU advance
- 한컴: 빈 paragraph 의 visual height 를 lh 그대로 사용 또는 다른 처리?
- paragraph 사이 minimum spacing: 한컴이 paragraph 간 minimum spacing 룰을 추가 적용할 가능성.
메모리 룰 적용
- "PDF 비교 결과는 절대 기준이 아님": 한컴 2010/2020 + 한컴독스 PDF 200dpi 모두 점검 필요
- "룰과 휴리스틱 구분": 한컴 60% line spacing 동작이 명세 룰인지 휴리스틱인지 자문 필요
- "본질 정정 회귀 위험": 빈 paragraph / 음수 ls 처리는 광범위 영향 — 광범위 샘플 검증
선행 작업 (완료)
진행 조건
본 task 진행 전 다음 사전 조사 필요:
- 한컴 2010 / 2020 / 한컴독스 PDF 200dpi 에서 페이지 2 [4~6] → 지문 gap 측정
- 한컴이 60% line spacing + 음수 ls 빈 paragraph 를 어떻게 처리하는지 명세 자문
- 다른 샘플의 60% line spacing 빈 paragraph 사례 수집 (광범위 영향 평가)
조사 결과에 따라 fix 방식 (paragraph_layout 빈 paragraph height 보정 / minimum spacing 룰 등) 결정.
검증 명령
./target/release/rhwp dump samples/21_언어_기출_편집가능본.hwp -s 0 -p 45
./target/release/rhwp export-svg samples/21_언어_기출_편집가능본.hwp -o /tmp/diag -p 1
현상
samples/21_언어_기출_편집가능본.hwp의 9곳에서 "[X~Y] 다음 글을 읽고 물음에 답하시오." 와 다음 문단(지문 시작) 사이 줄간격이 한컴 PDF 대비 좁게 보임.위치: 2p [4
6], 4p [79], 5p [1012], 7p [1315], 8p [1618], 10p [1921], 11p [2224], 13p [2527], 14p [28~30].측정 (페이지 2 [4~6] 대표)
SVG 측정:
→ rhwp 는 IR vpos 정확 따름. 한컴 PDF 가 더 넓다면 한컴은 60% 음수 ls 를 다르게 처리.
의심 본질
메모리 룰 적용
선행 작업 (완료)
진행 조건
본 task 진행 전 다음 사전 조사 필요:
조사 결과에 따라 fix 방식 (paragraph_layout 빈 paragraph height 보정 / minimum spacing 룰 등) 결정.
검증 명령