release: 发布字体直接内置版 v0.6.1
新增能力:14 套主题按纵横方向与五组页边距组成的 140 场景视觉矩阵全部通过,封面执行整页严格门禁,正文执行分页无关的语义块门禁。 问题修复:统一 CSS 到 WordprocessingML 的通用翻译,修复字体嵌入、中文标点字距、精确行距、打印媒体与行内代码连续性,不包含按主题 ID 的特调。 发行变化:Desktop 安装器与免安装 ZIP 直接内置 Serif、Sans、Mono 三套字体包;NSIS 移除字体选择和伴随安装逻辑,不再发布独立字体安装器或字体 ZIP。正式附件收敛为 Desktop 安装器、Desktop ZIP、Docker 离线镜像、Web 部署包和发行说明。 部署兼容:Docker 镜像 md-to-pdf:v0.6.1 使用完整无缓存路径构建,固定 Chromium、Pandoc 3.9.0.2 和三套内置字体包;支持覆盖安装 v0.6.0,Windows 安装器保持未签名的内部发布状态。 验证结果:116 个测试文件、616 项测试、全项目类型检查、生产构建和 git diff --check 全部通过;140/140 视觉矩阵阻断失败和诊断失败均为 0;源码服务、Docker Web API 与实际安装 Desktop 的 DOCX 字体嵌入链路均通过。
This commit is contained in:
@@ -37,5 +37,5 @@ await new Promise((resolvePromise, reject) => {
|
||||
});
|
||||
|
||||
process.stdout.write(
|
||||
`已生成内置字体包的主安装器与便携 ZIP:${join(desktopRoot, "out", `v${desktopManifest.version}`)}\n`
|
||||
`已生成字体直接内置的主安装器与便携 ZIP:${join(desktopRoot, "out", `v${desktopManifest.version}`)}\n`
|
||||
);
|
||||
@@ -186,28 +186,6 @@ export async function stageRelease(options = {}) {
|
||||
`MorphDoc-${version}-x86_64-Setup.exe`,
|
||||
`MorphDoc-${version}-x86_64.zip`
|
||||
];
|
||||
const fontPackArtifacts = [
|
||||
{
|
||||
name: "MorphDoc-FontPack-mdtp-serif-sc-1.0.0-x86_64-Setup.exe",
|
||||
source: join(
|
||||
repositoryRoot,
|
||||
"output",
|
||||
"font-packs",
|
||||
"windows",
|
||||
"MorphDoc-FontPack-mdtp-serif-sc-1.0.0-x86_64-Setup.exe"
|
||||
)
|
||||
},
|
||||
{
|
||||
name: "MorphDoc-FontPack-mdtp-serif-sc-1.0.0.zip",
|
||||
source: join(
|
||||
repositoryRoot,
|
||||
"output",
|
||||
"font-packs",
|
||||
"release",
|
||||
"MorphDoc-FontPack-mdtp-serif-sc-1.0.0.zip"
|
||||
)
|
||||
}
|
||||
];
|
||||
const releaseNotesSource = join(
|
||||
repositoryRoot,
|
||||
"docs",
|
||||
@@ -217,9 +195,6 @@ export async function stageRelease(options = {}) {
|
||||
for (const name of desktopNames) {
|
||||
await assertReadableFile(join(desktopDirectory, name));
|
||||
}
|
||||
for (const artifact of fontPackArtifacts) {
|
||||
await assertReadableFile(artifact.source);
|
||||
}
|
||||
await assertReadableFile(releaseNotesSource);
|
||||
|
||||
await mkdir(stageDirectory, { recursive: true });
|
||||
@@ -227,9 +202,6 @@ export async function stageRelease(options = {}) {
|
||||
for (const name of desktopNames) {
|
||||
await copyFile(join(desktopDirectory, name), join(stageDirectory, name));
|
||||
}
|
||||
for (const artifact of fontPackArtifacts) {
|
||||
await copyFile(artifact.source, join(stageDirectory, artifact.name));
|
||||
}
|
||||
await copyFile(releaseNotesSource, join(stageDirectory, "RELEASE-NOTES.md"));
|
||||
|
||||
const deployName = `MorphDoc-Web-${version}-deploy.zip`;
|
||||
@@ -249,7 +221,6 @@ export async function stageRelease(options = {}) {
|
||||
|
||||
const primaryNames = [
|
||||
...desktopNames,
|
||||
...fontPackArtifacts.map((artifact) => artifact.name),
|
||||
imageName,
|
||||
deployName,
|
||||
"RELEASE-NOTES.md"
|
||||
|
||||
@@ -61,14 +61,7 @@ test("Web 离线部署 ZIP 包含 Compose 和导入说明", async () => {
|
||||
}
|
||||
});
|
||||
|
||||
test("正式发布强制归集独立字体安装器和 ZIP", () => {
|
||||
assert.match(
|
||||
stageReleaseSource,
|
||||
/MorphDoc-FontPack-mdtp-serif-sc-1\.0\.0-x86_64-Setup\.exe/u
|
||||
);
|
||||
assert.match(
|
||||
stageReleaseSource,
|
||||
/MorphDoc-FontPack-mdtp-serif-sc-1\.0\.0\.zip/u
|
||||
);
|
||||
assert.match(stageReleaseSource, /fontPackArtifacts\.map/u);
|
||||
test("正式发布不再拆分独立字体安装器和 ZIP", () => {
|
||||
assert.doesNotMatch(stageReleaseSource, /MorphDoc-FontPack-/u);
|
||||
assert.doesNotMatch(stageReleaseSource, /fontPackArtifacts/u);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user