webkit为什么不能显示中文

来源:互联网 发布:2018人工智能国际大会 编辑:程序博客网 时间:2024/04/26 03:53

经过debug发现
/usr/share/language-selector/fontconfig/zh_CN
是fontconfig的配置文件,里面有关于不同的family的配置,如
        <alias>
                <family>serif</family>
                <prefer>
                        <family>Bitstream Vera Serif</family>
                        <family>DejaVu Serif</family>
                        <family>AR PL ShanHeiSun Uni</family>
                        <family>WenQuanYi Bitmap Song</family>
                        <family>AR PL ZenKai Uni</family>
                </prefer>
        </alias>

serif这个family会变成下面四种字体的,但只有从第三个开始,才是有中文 glyph的字体文件,所以,如果只是指定serif,则会用到英文的字库,不会用到中文的。

所以,只有再指定一个family 到 AR PL ZenKai Uni,就可以了。

WebCore/platform/graphics/gtk/FontPlatformDataGtk.cpp:
    if (!FcPatternAddString(pattern, FC_FAMILY, reinterpret_cast<const
                            FcChar8*>("AR PL ZenKai Uni")))
            goto freePattern;

原创粉丝点击