[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 一个关于fontconfig字体替换的问题



在 07-9-5,Ming Hua<minghua@rice.edu> 写道:
> 这是正常的现象,因为 fontconfig 在匹配字体时给语言匹配的权重很高,而
> Bitstream Vera 是不声明包含中文字体的:
>     $ fc-list "Bitstream Vera Sans Mono" lang
>     :lang=aa|ast|ay|bi|br|ch|co|da|de|en|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|
>     gv|ho|ia|id|ie|io|is|it|lb|mg|nb|nds|nl|nn|no|oc|om|pt|rm|sma|smj|so|sq|
>     sv|sw|tn|tr|ts|vo|vot|wa|xh|yap|zu
>
> 至于怎么修改这个基于 locale 对语言匹配的权重,让中文 locale 下也优先选择
> Bitstream Vera,我就不清楚了。

嗯,我想可不可以反过来给 Bitstream 里面加上 zh-cn 呢,字体描述里还有 charset,
lang 里面多一个可能也不会产生什么灾难性影响,不过目前我的改法还不成功:
    <match target="font">
        <test compare="eq" name="family" qual="any">
            <string>Bitstream Vera Sans Mono</string>
        </test>
        <edit name="lang" mode="assign_replace" binding="strong">
            <string>aa|ast|ay|bi|br|ch|co|da|de|en|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|ia|id|ie|io|is|it|lb|mg|nb|nds|nl|nn|no|oc|om|pt|rm|sma|smj|so|sq|sv|sw|tn|tr|ts|vo|vot|wa|xh|yap|zh-cn|zu</string>
        </edit>
    </match>
里面加上 zh-cn,但结果是
gnawux@stream:~$ fc-match -v "方正细圆简体"|grep lang
        familylang: "en"(s)
        stylelang: "en"(s)
        lang: bg|fj|ho|ia|ie|io|kum|om|os|ru|sel|so|sw|ts|xh|zh-cn|zh-sg|zu(s)
gnawux@stream:~$ fc-match -v "Bitstream Vera Sans Mono"|grep lang
        familylang: "en"(s)
        stylelang: "en"(s)
        lang: "aa|ast|ay|bi|br|ch|co|da|de|en|es|et|eu|fi|fj|fo|fr|fur|fy|gd|gl|gv|ho|ia|id|ie|io|is|it|lb|mg|nb|nds|nl|nn|no|oc|om|pt|rm|sma|smj|so|sq|sv|sw|tn|tr|ts|vo|vot|wa|xh|yap|zh-cn|zu"(s)

有一个引号的差距,目前排序仍是不成功的

是无法修改 lang 还是修改 lang 的方法不对呢,看 manpage,lang 应该就是 String
类型的阿

多谢

-- 
Wang Xu

Reply to: