|
|
假设fonts.conf中有如下内容:
- <alias>
- <family>xyz</family>
- <prefer>
- <family>Bitstream Vera Sans</family>
- <family>SimSun</family>
- </prefer>
- <accept>
- <family>Webdings</family>
- </accept>
- <default>
- <family>abc</family>
- </default>
- </alias>
复制代码
按照文档的说法,fontconf会先找prefer列表中的字体。找不到,则去找名为xyz的字体。还没有接着找accept,最后找default。可实际情况并不是这样。
$ LANG=zh_CN fc-match xyz
simsun.ttc: "SimSun" "Regular"
$ LANG=C fc-match xyz
Vera.ttf: "Bitstream Vera Sans" "Roman"
也就是说,match到的字体还跟locale有关。如果是这样,字体替换岂不是根本无法实现?
测试用系统是archlinux
fontconfig 2.3.2-6
freetype2 2.1.10-4 |
|