10-scale-bitmap-fonts.conf revision 953daeba
1<?xml version="1.0"?>
2<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
3<fontconfig>
4
5<!--
6  If font is bitmap, calculate scale factor.
7  Note that color bitmap fonts have scalable=true, while
8  non-color ones have scalable=false.  Both groups have outline=false.
9  -->
10<match target="font">
11  <test name="outline" compare="eq">
12    <bool>false</bool>
13  </test>
14  <edit name="pixelsizefixupfactor" mode="assign">
15    <divide>
16      <name target="pattern">pixelsize</name>
17      <name target="font"   >pixelsize</name>
18    </divide>
19  </edit>
20</match>
21<!--
22  For non-scalable bitmap fonts (ie. non-color), skip
23  minor scaling if hinting is enabled.
24  -->
25<match target="font">
26  <test name="outline" compare="eq">
27    <bool>false</bool>
28  </test>
29  <test name="scalable" compare="eq">
30    <bool>false</bool>
31  </test>
32  <test name="hinting" compare="eq">
33    <bool>true</bool>
34  </test>
35  <edit name="scalingnotneeded" mode="assign">
36    <and>
37      <less>
38        <name>pixelsizefixupfactor</name>
39        <double>1.2</double>
40      </less>
41      <more>
42        <name>pixelsizefixupfactor</name>
43        <double>0.8</double>
44      </more>
45    </and>
46  </edit>
47</match>
48<match target="font">
49  <test name="scalingnotneeded" compare="eq">
50    <bool>true</bool>
51  </test>
52  <edit name="pixelsizefixupfactor" mode="assign">
53    <double>1.0</double>
54  </edit>
55</match>
56<!--
57  If we *are* going to scale, go ahead and do it.
58  -->
59<match target="font">
60  <test name="outline" compare="eq">
61    <bool>false</bool>
62  </test>
63  <test name="pixelsizefixupfactor" compare="not_eq">
64    <double>1.0</double>
65  </test>
66  <edit name="matrix" mode="assign">
67    <times>
68      <name>matrix</name>
69      <matrix>
70        <name>pixelsizefixupfactor</name> <double>0</double>
71        <double>0</double> <name>pixelsizefixupfactor</name>
72       </matrix>
73    </times>
74  </edit>
75  <edit name="size" mode="assign">
76    <divide>
77      <name>size</name>
78      <name>pixelsizefixupfactor</name>
79    </divide>
80  </edit>
81</match>
82
83</fontconfig>
84