Pango / Cairo / Fontconfig:使Windows中的unicode字体后备/链接正常工作

时间:2017-07-12 20:44:54

标签: windows unicode fonts internationalization pango

最近,Windows用户让我们知道我们的应用程序中的日语(和其他unicode)字符在Windows下无法正常显示。他只是用数字来装箱子。

我们正在使用Pango,Fontconfig / freetype并使用Cairo进行渲染。在Unix(即Linux和macOS)中,它完美运行。但是,在Windows下我们似乎无法让它工作。

我想它与Windows下的字体回退/链接的工作方式有关,但我不知道哪里开始考虑使其正常工作。

1 个答案:

答案 0 :(得分:1)

事实证明这个问题比预期的要简单,但在任何地方都没有很好的记录。 Fontconfig需要其配置文件(fonts.conf和conf.d下的辅助配置)。在linux中它永远不会成为一个问题,因为大多数(如果不是全部)发行版默认使用fontconfig,所以即使有人拙劣发布,还有一个系统配置可以依赖。

相比之下,Windows通常不使用fontconfig,因此除非devs发布一组fontconfig配置文件,否则它最多会加载指定的字体,但它不能做任何其他事情(像字体后退)。

解决这个问题的方法是发布一个"字体"文件夹至少包含fonts.conf以及conf.d中的任何适当的定义,通常该文件夹应与fontconfig库位于同一文件夹中。 (如果这不起作用,你可以将FONTCONFIG_PATH设置为"。")

最后,除非您实际对配置进行了任何特殊更改,否则您只需将/ etc /中的默认配置文件复制到您的应用中。