Imported Upstream version 2.14.2
[platform/upstream/fontconfig.git] / conf.d / 10-scale-bitmap-fonts.conf
1 <?xml version="1.0"?>
2 <!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
3 <fontconfig>
4   <description>Bitmap scaling</description>
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>