feat(编辑能力): 新增擦除工具,优化字体裁剪与资源清理
build.yaml / build (push) Successful in 38s

This commit is contained in:
xiaoqidun committed 2026-09-16 17:01:36 +08:00
1 parent 215d405c76
commit 71e67be9c1
14 files changed
+596 -36

No files matched your search

+12
View File
@@ -382,12 +382,21 @@ func (e *Editor) writeSource(writer io.Writer, fonts map[string][]byte) (int64,
return 0, err
}
maps.Copy(parts, fonts)
removed, err := e.pruneSourceResources(parts)
if err != nil {
return 0, err
}
reader := e.source.reader
remaining := maps.Clone(reader.files)
if remaining == nil {
remaining = make(map[string][]byte)
}
maps.Copy(remaining, parts)
for name := range remaining {
if removed[strings.ToLower(cleanPackagePath(name))] {
delete(remaining, name)
}
}
output := &ofdCountingWriter{writer: writer}
archive := zip.NewWriter(output)
if reader.Zip != nil {
@@ -401,6 +410,9 @@ func (e *Editor) writeSource(writer io.Writer, fonts map[string][]byte) (int64,
continue
}
name := cleanPackagePath(file.Name)
if removed[strings.ToLower(name)] {
continue
}
if data, ok := remaining[name]; ok {
header := file.FileHeader
entry, err := archive.CreateHeader(&header)