Commit 5c72f48
committed
Task #195: OOXML 차트 콤보/이중축 지원 + HWPX 차트 파서 추가
## 변경 사항
### ooxml_chart (콤보 차트 + 이중 Y축)
- OoxmlSeries에 series_type/axis_group/axis_ids/format_code 필드 추가
- 파서: barChart/lineChart 공존 인식, valAx axPos로 primary/secondary 축 매핑
- 시리즈 색상 추출: spPr의 srgbClr (직접 RGB) + schemeClr (accent1~6 매핑)
- 숫자 포맷: c:formatCode 파싱, 천 단위 콤마 지원
- 렌더러: 콤보 렌더, 이중 Y축, 라인 데이터 포인트 마커, nice-number 눈금
### HWPX 차트 파싱 (신규)
- parse_hwpx: Chart/chartN.xml을 BinDataContent에 주입 (id=60000+N, extension=ooxml_chart)
- section.rs: hp:switch/hp:case/hp:chart 엘리먼트 핸들러 추가
- hp:switch 내부 OOXML 차트 우선, 없으면 hp:ole fallback
- 공통 shape 속성(sz, pos, outMargin) 파싱 헬퍼 추가
### 렌더러 연결
- find_bin_data: 1-indexed 순번 실패 시 id 필드로 직접 검색 fallback
- shape_layout Ole arm: extension=ooxml_chart면 CFB 파싱 건너뛰고 직접 렌더1 parent 92ad57a commit 5c72f48
7 files changed
Lines changed: 937 additions & 174 deletions
File tree
- src
- ooxml_chart
- parser/hwpx
- renderer/layout
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | | - | |
4 | | - | |
5 | | - | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
6 | 6 | | |
7 | | - | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| 11 | + | |
| 12 | + | |
11 | 13 | | |
12 | 14 | | |
13 | | - | |
| 15 | + | |
14 | 16 | | |
15 | 17 | | |
16 | 18 | | |
17 | 19 | | |
18 | 20 | | |
19 | 21 | | |
20 | 22 | | |
| 23 | + | |
21 | 24 | | |
22 | 25 | | |
23 | 26 | | |
24 | 27 | | |
| 28 | + | |
| 29 | + | |
25 | 30 | | |
26 | 31 | | |
27 | 32 | | |
28 | | - | |
| 33 | + | |
29 | 34 | | |
30 | 35 | | |
31 | 36 | | |
| |||
58 | 63 | | |
59 | 64 | | |
60 | 65 | | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
61 | 74 | | |
62 | 75 | | |
63 | 76 | | |
| |||
71 | 84 | | |
72 | 85 | | |
73 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
74 | 98 | | |
0 commit comments