feat(legacy): doc/xls/ppt 심층 충실도 — 서식/표/정렬/색 (0.21.0) - #4
Merged
Conversation
hwp(0.20.0)와 같은 수준으로 나머지 레거시 3종을 고도화한다. 바이트 레이아웃은 reference_data 의 Apache POI(HWPF/HSLF sparse clone)와 xlrd 를 대조해 확정했다. doc (Word97) — 텍스트-만에서 서식·표 재조립으로 재설계: - CHPX/PAPX **FKP bin table** 해석 (PlcfBteChpx/Papx @fib 0x00FA/0x0102, FKP 페이지 rgfc/rgb/BX, PAPX istd 스킵 규칙) - sprm 해석기 (spra 크기 규칙 + 0xD608/0xC615 2B 길이 예외): 굵게/기울임/ 취소선(토글 1·0x81)/밑줄(kul)/크기(hps)/색(ico 팔레트·cv RGB)/글꼴 (ftcAscii·ftcFE → SttbfFfn FFN 이름, eastAsia 슬롯 포함) - **표**: fInTable(0x16)/fTtp(0x17) 문단 속성 + 0x07 셀 마크로 행/셀 격자를 복원해 docx 표로 (기존: 탭으로 뭉갬) - 문단 정렬 sprmPJc(0x03/0x61), 필드 제거를 CP 매핑 보존 방식으로 전환 (서식 오프셋이 어긋나지 않게) xls (BIFF8) — FONT/XF/PALETTE 확장 (xlrd formatting.py 대조): - FONT: 색(icv)/밑줄(uls)/취소선(grbit 0x08) - XF: 수평·수직 정렬/줄바꿈(alc @6), solid 채우기(패턴 bits26-31 + 전경색 icv @18) - PALETTE(0x92) 재정의 + BIFF8 기본 팔레트(icv 0-7 EGA + 8-63) ppt (PPT97) — StyleTextPropAtom(4001) 해석 ([MS-PPT] 2.9.20/44): - 문단 런(정렬 0x800·들여쓰기 레벨)/문자 런(charFlags bold·italic· underline·strike, font.size, font.color — 스킴색 제외, 마스크 유효 비트 의미론) → pptx 런 스타일 (strike 는 rPr@strike 직접) - tabstops 가변 크기 등 props 순서/크기 표 전체 반영 테스트: 3종 심화 픽스처(FKP 페이지/BIFF 레코드/StyleTextPropAtom 을 스펙 그대로 손조립) 10건 추가 — 916 passed. PNG 래스터 스모크 3종 통과.
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.
hwp(#3, 0.20.0)와 같은 수준으로 나머지 레거시 3종 고도화. 레퍼런스: Apache POI HWPF/HSLF sparse clone + xlrd (reference_data).
심화 픽스처 10건 추가, 916 passed, PNG 래스터 스모크 3종.
🤖 Generated with Claude Code