perf(字体映射): 提升中文字体映射性能
build.yaml / build (push) Successful in 54s

This commit is contained in:
xiaoqidun committed 2026-10-16 00:28:03 +08:00
1 parent 078b67ccf0
commit 8dfd610cd5
1 file changed
+7 -6
+7 -6
View File
@@ -1355,16 +1355,17 @@ func adobeGB1CIDToUnicode(cid int) (rune, bool) {
if row < 16 || row > 87 || cell < 1 || cell > 94 {
return 0, false
}
gbk := []byte{byte(row + 0xA0), byte(cell + 0xA0)}
decoded, err := simplifiedchinese.GBK.NewDecoder().Bytes(gbk)
if err != nil || len(decoded) == 0 {
gbk := [2]byte{byte(row + 0xA0), byte(cell + 0xA0)}
var decoded [2 * utf8.UTFMax]byte
nDst, nSrc, err := simplifiedchinese.GBK.NewDecoder().Transform(decoded[:], gbk[:], true)
if err != nil || nDst == 0 || nSrc != len(gbk) {
return 0, false
}
rs := []rune(string(decoded))
if len(rs) != 1 {
r, size := utf8.DecodeRune(decoded[:nDst])
if size != nDst {
return 0, false
}
return rs[0], true
return r, true
}
// getUnicodeFromName 根据字形名称获取对应的Unicode字符