[Help] 字体设置,思源,想要让半粗体成为全系统默认的粗细

思源字体(简中 SC)的粗细(字重 weight):

Sans:
black > bold > medium > regular(默认) > 其他更细的
         (想设为默认)

Serif:
black > bold > semibold > medium > regular(默认) > 其他更细的
         (想设为默认)

我想要做的是:

让 Sans 的 medium、和 Serif 的 semibold 成为默认字重
替代 regular 的默认地位

通过 fontconfig 设置,确实能让fc-match所显示的默认 style 为我想要的 weight

<match>
   <test qual="any" name="family" compare="contains">
     <string>Noto Sans SC</string>
   </test>
   <edit name="style" mode="assign_replace" binding="strong">
     <string>bold</string>
   </edit>
   <edit name="weight" mode="assign_replace" binding="strong">
     <const>heavy</const>
   </edit>
</match>

但是,许多软件虽然接受 fontconfig 的默认字形(family),却忽略所设置的默认字重(即,软件取了思源字体后,仍然要以 regular 作为默认渲染)。失败


目前的 workaround:

思源不同粗细是在 SUSE 上是在分开的包里(即分开的文件中)的

故,删掉 regular 包,让任意软件不得不以 semibold 或 medium 作为默认

但,这样永远无法用 regular(比如想要在 LibreOffice 中用时)


有什么真正的解决方案没 ?

不需要删掉 regular 包的那种

自己想到的:

1.(失败)通过 fontconfig 造出假字体,指向Noto Sans SC Medium

已尝试如下

  <test qual="any" name="family">
        <string>My Fake Sans Font Name</string>
   </test>
   <edit name="file" mode="assign_replace" binding="strong">
        <string>/usr/share/fonts/truetype/NotoSansSC-Medium.otf</string>
 </edit>

fc-match显示,假字体匹配成功,

但,仍然会被软件忽略字重,变回 regular。失败

  1. 修改 otf 文件,进行重头到尾彻底重命名、字重修改。以后便使用这个改过的 otf 字体

    这个估计可以,但是,总觉得这不是一个很舒服的方案

Linux 的默认字体都是为 4k 显示器准备的。
当你拥有一个 4k 显示器,你就会发现,默认的系统字体都很粗很黑,就像黑苹果一样,拥有 4k 显示器你才配使用它。
所以你现在所学习的,费劲心思想要调整的各类字体设置,为了,黑,粗,不发虚。在 4k 下默认都拥有了。