After a bit of looking around, it seems connected to my fonts.conf:
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<match target="font">
<edit mode="assign" name="rgba">
<const>none</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="autohint">
<bool>false</bool>
</edit>
</match> <match target="font">
<edit mode="assign" name="hintstyle">
<const>hintmedium</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>
I have this setting, so that the fonts look nice and sharp - I don't like the 'usual' blury kind of fonts. However, that leads rather unpleasant printouts. Reason: the .fonts.conf affects the fontconfig for the whole system, including printing.
If I change the hintstyle to hintslight, the printout quality improves a lot:
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintmedium</const>
</edit>
</match>
Now, of course, the fonts look ugly again in my browser. So, what to do?
First solution, a quick workaround - I have two different versions of my .fonts.conf file, and switch them via a command line script, just before printing, and set it back just afterwards:
#!/bin/bash
cp /home/joerg/.fonts.conf.print /home/joerg/.fonts.conf
echo 'Start to print now, hit a key when done'
read -n1
cp /home/joerg/.fonts.conf.screen /home/joerg/.fonts.conf
echo 'done. back to normal'
Second approach: using the 'user style' extension for firefox create a @media print css file, that changes the font to a specific font for printing only. This font only gets set to hintslight in the .fonts.conf. Need to do that another time.