배경
Issue #773 (shortcut.hwp 페이지 1 본문 압축) 분석 결과, 본 결함이 단일 정정 영역을 초과하는 다중 paragraph spacing 누적 결함으로 식별됨. 한컴 PDF 의 paragraph spacing 알고리즘이 IR (ParaShape, LINE_SEG, ColumnDef) 단일 필드만으로 추적 불가한 암시적 디자인 spacing 적용 가능성.
상세 분석 보고서: mydocs/working/task_m100_773_stage3.md
측정 결과 (Issue #773 분석)
PDF 권위 (한글 2022, pdftotext -bbox, 96 dpi 환산)
| paragraph |
y_px96 |
| pi=0 ('글 2010 단축키 일람표' 큰 헤더) |
83.54 |
| pi=1 ('커서 이동' 셀 안) |
144.32 |
| pi=2 ('빈칸 삽입' 본문 첫 줄) |
194.58 |
rhwp instrument trace
```
TASK773_FP: pi=0 y_in=56.69 y_out=99.36 advance=42.67 sb=26.45 sa=0.00 lh=2000 ls=1200
TASK773_TBL: pi=1 y_in=99.36 y_out=130.45 advance=31.09 (tac_seg_applied)
TASK773_FP: pi=2 y_in=130.45 y_out=150.45 advance=20.00 sb=0.00 sa=0.00 lh=1000 ls=500
```
누적 차이
| 영역 |
rhwp |
PDF 정합 추정 |
차이 |
| pi=0 advance (lh+ls 계산) |
42.67 |
~50-60 px |
-10 ~ -20 px |
| pi=1 표 자체 height |
31.09 |
~30 px |
~0 (정합) |
| pi=1 표 후속 spacing |
0 |
~20 px (PDF 자체) |
-20 px |
| 누적 |
— |
— |
~-50 px |
본문 baseline 절대 차이: PDF 137.88 / rhwp 85.10 = -52.78 px
분석 대상
1. heading paragraph spacing (pi=0)
- rhwp: advance = lh + ls (42.67 px)
- dump-pages: hwp_used = 53.1 (lh 만, ls 미포함)
- 추가로 PDF 정합은 더 큰 spacing (~50-60 px)
- 의문: 큰 폰트 heading paragraph 후 zone 진입 spacing 또는 디자인 spacing 적용 알고리즘?
2. TAC 표 paragraph 후속 spacing (pi=1)
- IR vpos_end (LINE_SEG 마지막 vpos + lh + ls) 와 정합 (31.09 px)
- 그러나 PDF 는 표 후속 ~20 px 추가 spacing
- 의문: 표 후속 cell padding 외 디자인 spacing 또는 후속 paragraph margin 산출 알고리즘?
3. ColumnDef 진입 zone-level top spacing
- ColumnDef.spacing (10mm = 37.8 px) 가 zone_y_offset 에 반영 안 됨 (가설 B 검증 결과)
- 의문: 1단 ColumnDef 의 spacing 적용 경로 (paragraph y 좌표) 식별
검증 방안
A. 외부 권위 자료 비교
- 한컴 편집기 직접 확인 (Windows 환경, 한컴 2010/2020/2022)
- HWPSPEC 의 paragraph spacing 정의 정밀 분석
- 다른 hwp 샘플의 PDF 정합 패턴 비교 (cross-validation)
B. 코드/IR 측정
- 다양한 heading paragraph 샘플의 spacing 패턴 측정
- TAC 표 후속 spacing 샘플 (PDF 정합) 다수 측정
- ColumnDef 1단/N단의 zone 진입 spacing 비교
C. RFC 산출물
- paragraph-level + zone-level spacing 알고리즘 모델 (가설)
- IR 변환/layout 단계 어디서 적용해야 하는지 (architecture)
- 회귀 영향 평가 (다중 샘플)
우선순위
depth=high (단일 task 영역 초과). 본 RFC 산출 후 Issue #773 정정 가능.
참고
배경
Issue #773 (shortcut.hwp 페이지 1 본문 압축) 분석 결과, 본 결함이 단일 정정 영역을 초과하는 다중 paragraph spacing 누적 결함으로 식별됨. 한컴 PDF 의 paragraph spacing 알고리즘이 IR (ParaShape, LINE_SEG, ColumnDef) 단일 필드만으로 추적 불가한 암시적 디자인 spacing 적용 가능성.
상세 분석 보고서:
mydocs/working/task_m100_773_stage3.md측정 결과 (Issue #773 분석)
PDF 권위 (한글 2022, pdftotext -bbox, 96 dpi 환산)
rhwp instrument trace
```
TASK773_FP: pi=0 y_in=56.69 y_out=99.36 advance=42.67 sb=26.45 sa=0.00 lh=2000 ls=1200
TASK773_TBL: pi=1 y_in=99.36 y_out=130.45 advance=31.09 (tac_seg_applied)
TASK773_FP: pi=2 y_in=130.45 y_out=150.45 advance=20.00 sb=0.00 sa=0.00 lh=1000 ls=500
```
누적 차이
본문 baseline 절대 차이: PDF 137.88 / rhwp 85.10 = -52.78 px
분석 대상
1. heading paragraph spacing (pi=0)
2. TAC 표 paragraph 후속 spacing (pi=1)
3. ColumnDef 진입 zone-level top spacing
검증 방안
A. 외부 권위 자료 비교
B. 코드/IR 측정
C. RFC 산출물
우선순위
depth=high (단일 task 영역 초과). 본 RFC 산출 후 Issue #773 정정 가능.
참고