Re: 一个关于fontconfig字体替换的问题
match target="font"是没有用的,它修改的是已经匹配到的字体的属性,
有另外一个target,用于在fc-cache时直接更改cache中的设置,但我不记得具体
名称了,你man一下就知道,记得做完后得fc-cache一下哦
在 07-9-6,Wang Xu<gnawux@gmail.com> 写道:
> 在 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: