diff options
Diffstat (limited to 'fontconfig/conf.d')
-rw-r--r-- | fontconfig/conf.d/10-scale-bitmap-fonts.conf | 81 | ||||
-rw-r--r-- | fontconfig/conf.d/Makefile.am | 2 |
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 \ |