代码之家  ›  专栏  ›  技术社区  ›  Paul Johnson

如何在Windows上为Pango字符串中的特殊字符设置回退字体?

  •  0
  • Paul Johnson  · 技术社区  · 6 年前

    我的应用程序使用 Pango ,开罗和GTK3。其中一些字符串包含一些特殊字符,包括一个不在Unicode基本平面中的字符。在Linux上,这一点刚刚起作用,但在Windows上,它找不到特殊字符,而是显示未知字符框。

    我用Roboto来做文本,但不包括这些字符。用诡计我 found here 我发现在Linux上 fontconfig 库故障转移到 Symbolica STIX .

    FC\u DEBUG=4 pango view-q-t'{character}'2>&1 | grep-o'系列:“[^”]+'| cut-c 10-| tail-n 1

    我试过在Windows机器上安装这些字体,但没有乐趣。

    我的Windows计算机正在运行 Mingw-w64 随附的 /etc/fonts 包含fontconfig文件,但它们似乎做得不对。不幸的是 pango-view

    更新: 我已经准备好了 AttrFallback

    1 回复  |  直到 6 年前
        1
  •  1
  •   Paul Johnson    6 年前

    我仍然不知道为什么这在Windows和Linux中的工作方式不同,但答案却隐藏在 Pango.FontDescription.set_family

    在pango.FontDescription的某些用法中,也可以在此字段中使用逗号分隔的姓氏列表。

    当我在逗号分隔的列表中添加所需的回退字体时,它起了作用。

    推荐文章