발견 영역
PR #601 검토 영역에서 발견된 Issue #652 (aift.hwp/aift.hwpx 표 조판 영역 결함) 의 본질 영역을 ir-diff 명령으로 점검한 결과, 현재 ir-diff 는 본 결함 영역의 본질을 검출하지 못함 .
현재 ir-diff 의 비교 영역 (매뉴얼 정합)
카테고리
비교 항목
문단 단위
text / cc / char_offsets / char_shapes / line_segs / controls (수만) / tab_extended
ParaShape
ml / mr / indent / tab_def / sb / sa / ls
TabDef
탭 수 / position / tab_type / fill_type
본 환경 점검 결과 — Issue #652 의 결함 영역 미검출
./target/release/rhwp ir-diff samples/hwpx/aift.hwpx samples/aift.hwp 실행 결과:
검출되는 영역 :
✅ controls: A=3 vs B=4 (HWPX 3 vs HWP5 4 — 갯수만)
✅ cc / char_offsets / char_shapes (paragraph 영역)
✅ ParaShape (ml / indent / sb / sa 등)
검출 안 되는 영역 ⚠️ :
매뉴얼 명시 영역의 한계
mydocs/manual/ir_diff_command.md 의 "정상적인 차이 (무시 가능)" 영역:
controls 수 차이 : HWPX에서 SectionDef 등이 별도 처리됨
→ 현재 ir-diff 는 controls 수 차이를 "무시 가능 영역" 으로 분류하고 있어, 본 결함 영역 (HWPX 의 SectionDef 가 정합 안 됨 + 표의 page_break attr 결함) 이 무시 영역에 포함되어 검출되지 않음.
본 환경 결정적 증거 — pi=0 영역의 controls 차이가 결함의 origin
영역
HWP5 (samples/aift.hwp)
HWPX (samples/hwpx/aift.hwpx)
ir-diff 검출
pi=0 controls 수
4 (구역정의 + 단정의 + 표 + 쪽번호위치)
3 (단정의 + 표 + 쪽번호위치)
✅ controls: A=3 vs B=4 (단지 수 차이만, 어떤 control 인지 알 수 없음)
표 쪽나눔
RowBreak (0x04000006)
CellBreak (0x00000000)
❌ 미검출
표 셀 영역
h=15432, w=47624, paras=1
동일 (정합)
❌ 비교 안 함
→ 본 결함 영역은 표 영역의 본질적 차이 인데도 ir-diff 는 paragraph 영역의 차이만 보고 표 영역은 보지 않음.
보강 영역 — 우선순위 영역
본질 #1 : 표 (Table) 속성 비교
page_break attr (RowBreak / CellBreak)
treat_as_char / wrap (TopAndBottom / Square / 등)
row_count / col_count + size (HWPUNIT)
outer_margin + padding + cell_spacing
repeat_header
본질 #2 : 셀 (Cell) 속성 비교
is_header
row_span / col_span
border_fill_id
paragraphs 수
text 영역 (셀 내부 paragraph 의 text content)
outer_margin + padding
본질 #3 : paragraph line_segs 범위 비교
vpos / lh / th / bl / ls 영역 (현재 line_segs 비교는 일부만)
tag 영역 (line tag)
이미지 / 표가 점유한 line vs paragraph line 영역 식별
본질 #4 : controls 의 식별 가능 단위 비교
단지 갯수가 아닌, 각 control 의 type / index / 핵심 속성 비교
HWPX 의 SectionDef 영역 처리 정합 점검 (현재 무시 영역으로 분류된 영역)
본질 #5 : 다른 control 영역 비교 (Picture / Shape / Equation / Footnote 등)
각 control type 의 핵심 속성 비교 (size / shape_attr / etc.)
영향 범위
본 보강은 다음 영역의 회귀 차단 가드 영역으로 본 환경 영구 자산:
Issue aift.hwp/aift.hwpx 표 조판 영역의 vpos 단위 해석 의심 — 페이지 수 +30 / 표 위 빈 공간 +103mm 부풀음 #652 영역 (HWPX <table> page_break attr 영역) 의 정량 검증 가드
향후 표 / 셀 / 이미지 / 도형 영역의 HWP5 ↔ HWPX 정합 영역 자동 점검
외부 사용자 영역 ("hwpx 저장 지원 안 함" 평가) 의 본질 권위 영역
마일스톤
M100 (v1.0.0) — Issue #652 영역 정정 PR 의 회귀 차단 가드 영역으로 동시 처리 권고.
컨트리뷰터 안내
본 이슈는 외부 컨트리뷰터의 PR 을 환영합니다. 진행 전 댓글로 의향 알려주시면 메인테이너가 assignee 지정 + 추가 자료 안내드립니다.
진행 시 참고
참고 영역
발견 영역
PR #601 검토 영역에서 발견된 Issue #652 (aift.hwp/aift.hwpx 표 조판 영역 결함) 의 본질 영역을
ir-diff명령으로 점검한 결과, 현재 ir-diff 는 본 결함 영역의 본질을 검출하지 못함.현재 ir-diff 의 비교 영역 (매뉴얼 정합)
본 환경 점검 결과 — Issue #652 의 결함 영역 미검출
./target/release/rhwp ir-diff samples/hwpx/aift.hwpx samples/aift.hwp실행 결과:검출되는 영역:
controls: A=3 vs B=4(HWPX 3 vs HWP5 4 — 갯수만)cc/char_offsets/char_shapes(paragraph 영역)ml/indent/sb/sa등)검출 안 되는 영역⚠️ :
page_breakattr (RowBreak vs CellBreak — Issue aift.hwp/aift.hwpx 표 조판 영역의 vpos 단위 해석 의심 — 페이지 수 +30 / 표 위 빈 공간 +103mm 부풀음 #652 의 본질 baseline/line_height/line_spacing 역공학 #1)treat_as_char/wrap속성cells/is_header/border_fill_id영역line_segs범위 차이 (lines=0..2vslines=1..2— Issue aift.hwp/aift.hwpx 표 조판 영역의 vpos 단위 해석 의심 — 페이지 수 +30 / 표 위 빈 공간 +103mm 부풀음 #652 의 본질 편집 파이프라인 파생 갭 수정 #2)매뉴얼 명시 영역의 한계
mydocs/manual/ir_diff_command.md의 "정상적인 차이 (무시 가능)" 영역:→ 현재 ir-diff 는 controls 수 차이를 "무시 가능 영역" 으로 분류하고 있어, 본 결함 영역 (HWPX 의 SectionDef 가 정합 안 됨 + 표의 page_break attr 결함) 이 무시 영역에 포함되어 검출되지 않음.
본 환경 결정적 증거 — pi=0 영역의 controls 차이가 결함의 origin
samples/aift.hwp)samples/hwpx/aift.hwpx)controls: A=3 vs B=4(단지 수 차이만, 어떤 control 인지 알 수 없음)→ 본 결함 영역은 표 영역의 본질적 차이 인데도 ir-diff 는 paragraph 영역의 차이만 보고 표 영역은 보지 않음.
보강 영역 — 우선순위 영역
본질 #1: 표 (Table) 속성 비교
page_breakattr (RowBreak / CellBreak)treat_as_char/wrap(TopAndBottom / Square / 등)row_count/col_count+size(HWPUNIT)outer_margin+padding+cell_spacingrepeat_header본질 #2: 셀 (Cell) 속성 비교
is_headerrow_span/col_spanborder_fill_idparagraphs수text영역 (셀 내부 paragraph 의 text content)outer_margin+padding본질 #3: paragraph line_segs 범위 비교
vpos/lh/th/bl/ls영역 (현재 line_segs 비교는 일부만)tag영역 (line tag)본질 #4: controls 의 식별 가능 단위 비교
본질 #5: 다른 control 영역 비교 (Picture / Shape / Equation / Footnote 등)
영향 범위
본 보강은 다음 영역의 회귀 차단 가드 영역으로 본 환경 영구 자산:
<table>page_break attr 영역) 의 정량 검증 가드마일스톤
M100 (v1.0.0) — Issue #652 영역 정정 PR 의 회귀 차단 가드 영역으로 동시 처리 권고.
컨트리뷰터 안내
본 이슈는 외부 컨트리뷰터의 PR 을 환영합니다. 진행 전 댓글로 의향 알려주시면 메인테이너가 assignee 지정 + 추가 자료 안내드립니다.
진행 시 참고
mydocs/manual/ir_diff_command.mdsrc/cli/(또는src/main.rs의 ir-diff subcommand)src/model/control.rs(Table / Cell / Picture / Shape 등)samples/hwpx/aift.hwpxvssamples/aift.hwp(Issue aift.hwp/aift.hwpx 표 조판 영역의 vpos 단위 해석 의심 — 페이지 수 +30 / 표 위 빈 공간 +103mm 부풀음 #652 의 결함 발현 영역)참고 영역