feat: 完善字体包发行与 Docker 内置字体
This commit is contained in:
+29
-8
@@ -1,7 +1,8 @@
|
||||
# 可选字体包构建
|
||||
|
||||
本目录只保存字体包配方、许可证和来源说明,不保存字体二进制。主程序、
|
||||
Desktop 安装包和 Docker 主镜像不会因为这些配方增加字体体积。
|
||||
本目录只保存字体包配方、许可证和来源说明,不保存字体二进制。普通
|
||||
Desktop 主安装包不包含字体;组合 Desktop 发行把字体作为同目录可选附件,
|
||||
Docker 发行构建则把本次受校验的字体包写入镜像层。
|
||||
|
||||
## 源目录
|
||||
|
||||
@@ -59,7 +60,7 @@ npm run build:font-pack:windows
|
||||
|
||||
```text
|
||||
output/font-packs/windows/
|
||||
└── md-to-pdf-font-pack-mdtp-serif-sc-1.0.0-x86_64-Setup.exe
|
||||
└── MorphDoc-FontPack-mdtp-serif-sc-1.0.0-x86_64-Setup.exe
|
||||
```
|
||||
|
||||
安装器使用当前用户权限,将整个 `mdtp-serif-sc` ID 安装到:
|
||||
@@ -81,16 +82,36 @@ output/font-packs/windows/
|
||||
npm run desktop:make:with-font-pack
|
||||
```
|
||||
|
||||
该命令把主安装器和字体包安装器作为两个同目录文件发行。主安装器只编译
|
||||
字体包文件名与 SHA-256,不嵌入字体二进制;仅当同目录文件存在且哈希完全
|
||||
一致时,交互安装向导才显示默认勾选的字体包选项。字体包失败不回滚已安装
|
||||
的主程序。
|
||||
该命令把主安装器、字体包安装器和字体包 ZIP 作为同目录文件发行。主安装器
|
||||
只编译字体包安装器的文件名与 SHA-256,不嵌入字体二进制;仅当同目录文件
|
||||
存在且哈希完全一致时,交互安装向导才显示默认勾选的字体包选项。字体包
|
||||
失败不回滚已安装的主程序。
|
||||
|
||||
主安装器静默运行时默认不安装伴随字体包;只有显式传入以下参数才会安装:
|
||||
|
||||
```powershell
|
||||
md-to-pdf-<version>-x86_64-Setup.exe /S /WITHFONTPACK=1
|
||||
MorphDoc-<version>-x86_64-Setup.exe /S /WITHFONTPACK=1
|
||||
```
|
||||
|
||||
普通 `npm run make -w @md-to-pdf/desktop` 不启用伴随逻辑,避免本地残留的
|
||||
生成文件影响常规桌面构建。
|
||||
|
||||
## ZIP 发行附件
|
||||
|
||||
独立生成可手动部署的确定性 ZIP:
|
||||
|
||||
```powershell
|
||||
npm run build:font-pack:archive
|
||||
```
|
||||
|
||||
产物为 `output/font-packs/release/MorphDoc-FontPack-mdtp-serif-sc-1.0.0.zip`。
|
||||
归档顶层已经包含 `mdtp-serif-sc/1.0.0/`,用户可直接解压到
|
||||
`%LOCALAPPDATA%/md-to-pdf/font-packs`。ZIP 内保留清单、许可证、来源说明
|
||||
以及 Web/DOCX 两类字体资产;相同输入会生成逐字节一致的附件。
|
||||
|
||||
## Docker 内置发行
|
||||
|
||||
Docker 构建前必须先执行 `npm run build:font-pack`。构建上下文只放行
|
||||
`output/font-packs/root`,Dockerfile 将其复制到
|
||||
`/app/.local/font-packs`;Compose 不再挂载宿主机字体目录。字体因此随
|
||||
镜像离线分发,同时仍由运行时注册器校验版本、路径、容量和 SHA-256。
|
||||
|
||||
Reference in New Issue
Block a user