feat(字体处理): 修复字体编辑,优化字体裁剪
build.yaml / build (push) Successful in 46s

This commit is contained in:
xiaoqidun committed 2026-10-11 01:22:46 +08:00
1 parent 78379bfa6e
commit 62c81e7061
5 files changed
+274 -6

No files matched your search

+5 -1
View File
@@ -54,6 +54,7 @@ type type2State struct {
output *bytes.Buffer
seed uint64
steps *int
dependencies map[uint16]bool
}
// readType2Index 读取并校验CFF索引的全部偏移,不复制程序字节
@@ -499,7 +500,10 @@ func (s *type2State) appendComponent(code, x, y float64) error {
if !ok {
return fmt.Errorf("missing Type2 component %s", name)
}
child := type2State{font: s.font, matrix: s.matrix, width: s.font.def, component: true, output: s.output, originX: x, originY: y, outX: s.outX, outY: s.outY, seed: s.font.seed + uint64(gid), steps: s.steps, stripHints: s.stripHints}
if s.dependencies != nil {
s.dependencies[uint16(gid)] = true
}
child := type2State{font: s.font, matrix: s.matrix, width: s.font.def, component: true, output: s.output, originX: x, originY: y, outX: s.outX, outY: s.outY, seed: s.font.seed + uint64(gid), steps: s.steps, stripHints: s.stripHints, dependencies: s.dependencies}
_, err := child.run(s.font.chars[gid], 0)
if err != nil {
return fmt.Errorf("invalid Type2 component %s: %w", name, err)