Commit 0e1a38b
committed
feat: 本地嵌入 Font Awesome 字体,修复 Brands 被映射成 Arial
本项目不实现通用字体嵌入(由云端完成),但 Font Awesome 的 icon
字形必须随 PPTX 走,否则在没装 FA 的机器上图标会变方块。
- 新增预构建的 PowerPoint 兼容 EOT(FA5/FA6: solid/regular/brands
+ v4compatibility),用 ../html2pptx 的 sanitize+sfnttool 一次性
生成,运行时不再做 ttf→eot 转换
- 新增 src/utils/fa-font-embedder.ts:扫描 PPTX XML 里的 typeface,
只嵌入 FA 字体,更新 [Content_Types].xml / presentation.xml / .rels
- 在 convertHtmlToPptx 生成 PPTX 后调用嵌入(仅本地模式)
- 修复 Brands 既有 bug:normalizeFontAwesomeFreeFamily 跳过 brands,
导致 --platform 启用时 fab 图标被错误映射成 Arial;新增
normalizeFontAwesomeFamily 统一处理 Solid/Regular/Brands/v41 parent 229f64e commit 0e1a38b
14 files changed
Lines changed: 378 additions & 4 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
14 | 14 | | |
15 | 15 | | |
16 | 16 | | |
| 17 | + | |
17 | 18 | | |
18 | 19 | | |
19 | 20 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
21 | 21 | | |
22 | 22 | | |
23 | 23 | | |
| 24 | + | |
24 | 25 | | |
25 | 26 | | |
26 | 27 | | |
| |||
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
| 33 | + | |
32 | 34 | | |
33 | 35 | | |
34 | 36 | | |
| |||
121 | 123 | | |
122 | 124 | | |
123 | 125 | | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
124 | 131 | | |
125 | 132 | | |
126 | 133 | | |
| |||
483 | 490 | | |
484 | 491 | | |
485 | 492 | | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
486 | 498 | | |
487 | 499 | | |
488 | 500 | | |
489 | | - | |
| 501 | + | |
490 | 502 | | |
491 | 503 | | |
492 | 504 | | |
| |||
0 commit comments