首选字形后备字体

preferred glyph fallback font

[问题]渲染多语言字符串时,所选字体可能不支持所有字形。是否可以指定一个字体列表来测试字形?

[上下文]系统是Pango + Fontconfig,我的第一个猜测是在fontconfig级别解决这个问题。然而,从 fontconfig spec,我没有看到直接相关的东西。

[问题]

  1. 这是要在 fontconfig 级别解决的问题吗?
  2. 我尝试在 /etc/fonts/local.conf 中添加以下内容,然后使用“fc-match "FreightSans Pro" -s" 进行测试。它似乎有效,因为在 FreigSanPro 之后看到了 Noto 字体。但是,Pango 的渲染系统似乎没有使用 Noto 字体。可能是什么原因?
<alias>
    <family>FreightSans Pro</family> 
    <prefer>
        <family>Noto Sans</family>
        <family>Noto Emoji</family>
        <family>Noto Sans Armenian</family>
        <family>Noto Sans Avestan</family>
        <family>Noto Sans Balinese</family>
        <family>Noto Sans Bamum</family>
        ......
    </prefer>
</alias>

感谢任何想法。 :)

  1. 是的。 fontconfig 管理 Linux.

  2. 的回退
  3. 我怀疑您是否应该为专有家庭提供覆盖。尝试通用名称,例如 sanssans-serifmonospace.

刚刚开始工作。看起来我的 fontconfig 构建没有在 /etc/fonts/ 寻找配置文件。因此,通过在系统下方添加环境变量,系统将获取我自定义的 conf 文件并按预期工作。

export FONTCONFIG_PATH=/etc/fonts/