http://freebuilder.ys168.com/ Linux 字体配置要略
存在此问题,直到推出了使用强绑定的 69-language-selector-*.conf 系列文件。所以我的配置也
只用 strong,一路强硬到底!前面的系统绘字原理图也正是基于强绑定而得。
4 配置说明
请注意,本节内容仅作为手册(man 5 fonts.conf)的补充而非替代。对于本节可快速浏览
而过,待到后面具体应用时再适当地返回查阅。
4.1 <match target="pattern">
target 指示处理目标,取值 pattern、 font,缺省 pattern。 pattern 字面意思即模式、样板,
网上多数文章都称其为“字体样板”。其含义为应用程序所提出的申请,或说所期望的样子,
或可简称“所望”。 font 指系统最后指派给应用程序的字体,或对应地称之为“所得”。从需
求逻辑不难看出“择字所论,皆为所望。控字所操,概为所得。”
<match> 包括用 <test> 表示的条件部分和用 <edit> 表示的动作部分。可顺序使用多个
<test> 表示多个串联(逻辑与)条件,多个 <edit> 表示多个先后动作。代码示例:
<match>
<test name="family">
<string>宋体</string>
<string>宋體</string>
</test>
<edit name="family">
<string>zh-SongTi</string>
</edit>
</match>
各 <test> 之间不得穿插有 <edit>。错误代码示例:
<match>
<test ... /test>
<edit ... /edit>
<test ... /test>
<edit ... /edit>
</match>
4.2 <test qual="any" name="property" target="default" compare="eq">
target 同样表示处理目标。当然,此处说成“检测目标”要更为妥当些。其缺省值为外层
target 之值,而非确定的 pattern。即外层 <match target="font">,那它就是 font。
compare 指示比较方式,缺省 eq。手册上有,不必多说。只是有两个针对字符串类型的
contains 及 not_contains 手册上没提,但看字面意思便可一清二楚。
qual 针对列表类型的属性,取值 any、 all,缺省 any。目前我尚不清楚除 family 之外还有
什么属性是列表类型的。姑且先把要处理的列表称为“目标列表”,代码中给定的值列表叫作
“参数列表”。假设某目标列表为 ["str1", "str2", "str3"],对于下面代码,参数列表为 ["str1",
"str2"]。若 qual="any" 则整个 <test> 结果为真,若 qual="all" 则其结果为假。
4/18