mirror of
https://github.com/siyuan-note/siyuan.git
synced 2025-12-16 06:30:14 +01:00
🎨 Improve font loading https://github.com/siyuan-note/siyuan/issues/15981
Signed-off-by: Daniel <845765@qq.com>
This commit is contained in:
parent
eaae164e18
commit
f42301a204
1 changed files with 22 additions and 7 deletions
|
|
@ -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
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue