Use "append" to avoid overwriting the user configuration.
This presumes most clients may takes care of the first value only.
<fontconfig>
<!-- Use the Autohinter -->
<match target="font">
- <edit name="autohint" mode="assign"><bool>true</bool></edit>
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit name="autohint" mode="append"><bool>true</bool></edit>
</match>
</fontconfig>
<fontconfig>
<!-- Enable sub-pixel rendering -->
<match target="font">
- <edit name="rgba" mode="assign"><const>none</const></edit>
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit name="rgba" mode="append"><const>none</const></edit>
</match>
</fontconfig>
<fontconfig>
<!-- Enable sub-pixel rendering -->
<match target="font">
- <edit name="rgba" mode="assign"><const>bgr</const></edit>
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit name="rgba" mode="append"><const>bgr</const></edit>
</match>
</fontconfig>
<fontconfig>
<!-- Enable sub-pixel rendering -->
<match target="font">
- <edit name="rgba" mode="assign"><const>rgb</const></edit>
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit name="rgba" mode="append"><const>rgb</const></edit>
</match>
</fontconfig>
<fontconfig>
<!-- Enable sub-pixel rendering -->
<match target="font">
- <edit name="rgba" mode="assign"><const>vbgr</const></edit>
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit name="rgba" mode="append"><const>vbgr</const></edit>
</match>
</fontconfig>
<fontconfig>
<!-- Enable sub-pixel rendering -->
<match target="font">
- <edit name="rgba" mode="assign"><const>vrgb</const></edit>
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit name="rgba" mode="append"><const>vrgb</const></edit>
</match>
</fontconfig>
<fontconfig>
<!-- Disable hinting -->
<match target="font">
- <edit name="hinting" mode="assign"><bool>false</bool></edit>
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit name="hinting" mode="append"><bool>false</bool></edit>
</match>
</fontconfig>
<fontconfig>
<!-- Use lcddefault as default for LCD filter -->
<match target="font">
- <edit mode="assign" name="lcdfilter">
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit mode="append" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
<fontconfig>
<!-- Use lcdlegacy as default for LCD filter -->
<match target="font">
- <edit mode="assign" name="lcdfilter">
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit mode="append" name="lcdfilter">
<const>lcdlegacy</const>
</edit>
</match>
<fontconfig>
<!-- Use lcdlight as default for LCD filter -->
<match target="font">
- <edit mode="assign" name="lcdfilter">
+ <!--
+ This configuration is available on the major desktop environments.
+ We shouldn't overwrite it with "assign" unconditionally.
+ Most clients may picks up the first value only. so using "append"
+ may simply works to avoid it.
+ -->
+ <edit mode="append" name="lcdfilter">
<const>lcdlight</const>
</edit>
</match>