aboutsummaryrefslogtreecommitdiff
path: root/fontconfig/conf.d
diff options
context:
space:
mode:
Diffstat (limited to 'fontconfig/conf.d')
-rw-r--r--fontconfig/conf.d/10-scale-bitmap-fonts.conf81
-rw-r--r--fontconfig/conf.d/Makefile.am2
2 files changed, 83 insertions, 0 deletions
diff --git a/fontconfig/conf.d/10-scale-bitmap-fonts.conf b/fontconfig/conf.d/10-scale-bitmap-fonts.conf
new file mode 100644
index 000000000..e3bcd46cd
--- /dev/null
+++ b/fontconfig/conf.d/10-scale-bitmap-fonts.conf
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+
+<match target="font">
+ <test name="scalable" compare="eq">
+ <bool>false</bool>
+ </test>
+ <edit name="pixelsizefixupfactor" mode="assign">
+ <divide>
+ <name target="pattern">pixelsize</name>
+ <name target="font" >pixelsize</name>
+ </divide>
+ </edit>
+</match>
+<match target="font">
+ <test name="scalable" compare="eq">
+ <bool>false</bool>
+ </test>
+ <edit name="scalingnotneeded" mode="assign">
+ <and>
+ <less>
+ <name>pixelsizefixupfactor</name>
+ <double>1.2</double>
+ </less>
+ <more>
+ <name>pixelsizefixupfactor</name>
+ <double>0.8</double>
+ </more>
+ </and>
+ </edit>
+</match>
+<!--
+ So far we determined the scale factor. Now, check and if
+ scaling is NOT desirable, just reset the scale factor to 1.0.
+ -->
+<match target="font">
+ <test name="scalable" compare="eq">
+ <bool>false</bool>
+ </test>
+ <test name="pixelsize" target="pattern" compare="less">
+ <double>64</double>
+ </test>
+ <test name="hinting" compare="eq">
+ <bool>true</bool>
+ </test>
+ <test name="scalingnotneeded" compare="eq">
+ <bool>true</bool>
+ </test>
+ <edit name="pixelsizefixupfactor" mode="assign">
+ <double>1.0</double>
+ </edit>
+</match>
+<!--
+ If we *are* going to scale, go ahead and do it.
+ -->
+<match target="font">
+ <test name="scalable" compare="eq">
+ <bool>false</bool>
+ </test>
+ <test name="pixelsizefixupfactor" compare="not_eq">
+ <double>1.0</double>
+ </test>
+ <edit name="matrix" mode="assign">
+ <times>
+ <name>matrix</name>
+ <matrix>
+ <name>pixelsizefixupfactor</name> <double>0</double>
+ <double>0</double> <name>pixelsizefixupfactor</name>
+ </matrix>
+ </times>
+ </edit>
+ <edit name="size" mode="assign">
+ <divide>
+ <name>size</name>
+ <name>pixelsizefixupfactor</name>
+ </divide>
+ </edit>
+</match>
+
+</fontconfig>
diff --git a/fontconfig/conf.d/Makefile.am b/fontconfig/conf.d/Makefile.am
index e3a26f081..77597e57f 100644
--- a/fontconfig/conf.d/Makefile.am
+++ b/fontconfig/conf.d/Makefile.am
@@ -25,6 +25,7 @@ DOC_FILES= \
README
CONF_LINKS = \
+ 10-scale-bitmap-fonts.conf \
20-unhint-small-vera.conf \
30-urw-aliases.conf \
30-metric-aliases.conf \
@@ -49,6 +50,7 @@ templatedir = $(TEMPLATEDIR)
template_DATA = \
10-autohint.conf \
10-no-sub-pixel.conf \
+ 10-scale-bitmap-fonts.conf \
10-sub-pixel-bgr.conf \
10-sub-pixel-rgb.conf \
10-sub-pixel-vbgr.conf \