feat(字体处理): 提升字体封装校验性能

This commit is contained in:
xiaoqidun committed 2026-10-16 00:40:22 +08:00
1 parent 239baf9ce8
commit dc48962eb3
1 file changed
+13 -11
+13 -11
View File
@@ -91,19 +91,21 @@ func FileTables(data []byte, index int) (map[string][]byte, error) {
// 入参: data 表数据
// 返回: uint32 校验和
func calcTableChecksum(data []byte) uint32 {
var sum uint32
length := len(data)
for i := 0; i < length; i += 4 {
if i+4 <= length {
sum += binary.BigEndian.Uint32(data[i : i+4])
} else {
var val uint32
rem := data[i:]
for j, b := range rem {
val |= uint32(b) << (24 - 8*j)
var a, b, c, d uint32
for len(data) >= 16 {
a += binary.BigEndian.Uint32(data[:4])
b += binary.BigEndian.Uint32(data[4:8])
c += binary.BigEndian.Uint32(data[8:12])
d += binary.BigEndian.Uint32(data[12:16])
data = data[16:]
}
sum += val
sum := a + b + c + d
for len(data) >= 4 {
sum += binary.BigEndian.Uint32(data[:4])
data = data[4:]
}
for i, value := range data {
sum += uint32(value) << (24 - 8*i)
}
return sum
}