From f42301a204fa65380280d1f91419b0a8b4090862 Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 29 Sep 2025 20:50:47 +0800 Subject: [PATCH 1/2] :art: Improve font loading https://github.com/siyuan-note/siyuan/issues/15981 Signed-off-by: Daniel <845765@qq.com> --- kernel/util/font.go | 29 ++++++++++++++++++++++------- 1 file changed, 22 insertions(+), 7 deletions(-) diff --git a/kernel/util/font.go b/kernel/util/font.go index 2ea2ae64b..9c8cdaa70 100644 --- a/kernel/util/font.go +++ b/kernel/util/font.go @@ -172,20 +172,35 @@ func parseTTFFontFamily(fontPath string) (ret string) { family = strings.TrimSpace(string(v)) } } + if sfnt.NamePreferredFamily == e.NameID && (sfnt.PlatformLanguageID(1033) == e.LanguageID || sfnt.PlatformLanguageID(2052) == e.LanguageID) { + v, _, err := transform.Bytes(textUnicode.UTF16(textUnicode.BigEndian, textUnicode.IgnoreBOM).NewDecoder(), e.Value) + if err == nil { + family = strings.TrimSpace(string(v)) + } + } if sfnt.NameFontSubfamily == e.NameID && (sfnt.PlatformLanguageID(1033) == e.LanguageID || sfnt.PlatformLanguageID(2052) == e.LanguageID) { v, _, err := transform.Bytes(textUnicode.UTF16(textUnicode.BigEndian, textUnicode.IgnoreBOM).NewDecoder(), e.Value) if err == nil { subfamily = strings.TrimSpace(string(v)) } } + if sfnt.NamePreferredSubfamily == e.NameID && (sfnt.PlatformLanguageID(1033) == e.LanguageID || sfnt.PlatformLanguageID(2052) == e.LanguageID) { + v, _, err := transform.Bytes(textUnicode.UTF16(textUnicode.BigEndian, textUnicode.IgnoreBOM).NewDecoder(), e.Value) + if err == nil { + subfamily = strings.TrimSpace(string(v)) + } + } } - if family != "" && !strings.HasPrefix(family, ".") { - if subfamily != "" && !strings.Contains(subfamily, "<") && !strings.EqualFold(subfamily, "Regular") { - ret = family + " " + subfamily // 例如 "PingFang SC Bold" - } else { - ret = family - } - } + //if family != "" && !strings.HasPrefix(family, ".") { + // if subfamily != "" && !strings.Contains(subfamily, "<") && !strings.EqualFold(subfamily, "Regular") { + // ret = family + "(" + subfamily + ")" + // } else { + // ret = family + // } + //} + // TODO: 字重加载方案 + _ = subfamily + ret = family return } From c25ed2aec24bb75f2728b36b436582dab55a65fa Mon Sep 17 00:00:00 2001 From: Daniel <845765@qq.com> Date: Mon, 29 Sep 2025 20:56:39 +0800 Subject: [PATCH 2/2] :art: Improve fold heading editing https://github.com/siyuan-note/siyuan/issues/15848 Signed-off-by: Daniel <845765@qq.com> --- kernel/model/transaction.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/kernel/model/transaction.go b/kernel/model/transaction.go index e1c23a36b..55b591ef2 100644 --- a/kernel/model/transaction.go +++ b/kernel/model/transaction.go @@ -1577,6 +1577,13 @@ func unfoldParentFoldedHeading(node *ast.Node) { } parentFoldedHeading.RemoveIALAttr("fold") parentFoldedHeading.RemoveIALAttr("heading-fold") + + evt := util.NewCmdResult("transactions", 0, util.PushModeBroadcast) + evt.Data = []*Transaction{{ + DoOperations: []*Operation{{Action: "unfoldHeading", ID: parentFoldedHeading.ID}}, + UndoOperations: []*Operation{{Action: "foldHeading", ID: parentFoldedHeading.ID}}, + }} + util.PushEvent(evt) } }