fix(hwp): 셀/글상자/머리말 문단 유실 — 문단 리스트는 LIST_HEADER 의 형제 (0.21.1) - #5
Merged
Conversation
실파일에서 문단 리스트의 문단들은 LIST_HEADER 의 자식이 아니라 **같은 레벨의 형제**다 (pyhwp table.hwp 실측: L2 LIST_HEADER 다음 L2 PARA_HEADER). 0.20.0 트리 재설계가 자식만 봐서 실파일의 모든 셀/글상자/ 머리말 텍스트가 유실됐다 — 손조립 픽스처가 한 층 깊게 만들어져 있어 버그를 가렸다 (v0.19.0 평면 상태기계는 우연히 실파일을 처리했었다). 수정: _list_paras — LIST_HEADER 의 paragraphs 수 필드(표 60 UINT16 @0)를 상한으로 형제 PARA_HEADER 를 수집하고, 자식 중첩(이형)도 함께 수용. 표 셀/캡션/글상자/머리말·꼬리말 네 곳 모두 적용. 픽스처는 실파일 구조 (형제 + 문단 수 선언)로 교정, 이형 관용 테스트(make_hwp)는 유지. 검증: pyhwp 실파일 픽스처 36개 전수 — 34 변환 성공(암호/배포용 2건 정직 거절, 실패 0), 표 8개짜리 table-caption·sample-5017(표 3+머리말) 텍스트 추출 확인, SVG E2E 3종. 전체 916 passed.
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.
버그
0.20.0 트리 재설계가 셀 문단을 LIST_HEADER 의 자식에서 찾았지만, 실파일 구조는 같은 레벨의 형제다 (pyhwp
table.hwp실측: L2 LIST_HEADER → L2 PARA_HEADER). 실파일의 모든 표 셀/글상자/머리말 텍스트가 유실 — 손조립 픽스처가 한 층 깊어 버그를 가렸다.수정
_list_paras: 표 60 의 paragraphs 수 필드를 상한으로 형제 PARA_HEADER 수집 + 자식 중첩(이형) 병행 수용. 표 셀/캡션/글상자/머리말 4곳 적용. 픽스처를 실파일 구조로 교정.검증
pyhwp 실파일 픽스처 36개 전수 스윕: 34 변환 성공 / 암호·배포용 2건 정직 거절 / 실패 0. 표·캡션·머리말 텍스트 추출 및 SVG E2E 확인. 916 passed.
🤖 Generated with Claude Code