feat(字体渲染): 改进字体匹配逻辑
build.yaml / build (push) Successful in 35s

This commit is contained in:
2026-07-08 20:21:32 +08:00
parent f191f1faec
commit ef4028a2fc
4 changed files with 259 additions and 99 deletions
+3 -2
View File
@@ -151,6 +151,7 @@ func FontSystemNames(names ...string) []string {
// 入参: name 字体名称
// 返回: string 规范化后的字体名称
func fontNormalizeName(name string) string {
name = strings.ReplaceAll(name, "\\", "/")
name = strings.TrimSuffix(path.Base(name), path.Ext(name))
name = strings.ToLower(strings.TrimSpace(name))
return fontNameReplacer.Replace(name)
@@ -326,10 +327,10 @@ func fontRuleMatchLevel(rule fontMatchRule, name string) int {
level = fontMatchExact
return true
}
if item != "" && (level == fontMatchNone || level > fontMatchPartial) && (strings.HasPrefix(name, item) || strings.HasPrefix(item, name)) {
if item != "" && (level == fontMatchNone || level > fontMatchPartial) && strings.HasPrefix(name, item) {
level = fontMatchPartial
}
if item != "" && level == fontMatchNone && (strings.Contains(name, item) || strings.Contains(item, name)) {
if item != "" && level == fontMatchNone && strings.Contains(name, item) {
level = fontMatchFuzzy
}
return false