In a former post I wrote about a rebuilt libcairo2 with David Turner's patch to get better font rendering. Fonts looked great to my opinion, but maybe a little fuzzy to others.
So I have been looking a little bit further and came across these two pages :
(1) http://crunchbanglinux.org/forums/topic/7415/howto-font-rendering-like-ubuntu/
(2) http://lovingthepenguin.blogspot.com/2010/07/ubuntu-font-rendering-in-debian-squeeze.html
I don't think any patching of libxft2 in Debian Squeeze is needed, so I describe here what I've done to patch libcairo2 :
(1) Go to : http://aur.archlinux.org/packages/cairo-ubuntu/ and download cairo-ubuntu.tar.gz.
tar xf cairo-ubuntu.tar.gz will yield a folder cairo-ubuntu containing cairo-respect-fontconfig.patch.
(2) Go to : http://packages.ubuntu.com/lucid/libcairo2 and download cairo_1.8.10-2ubuntu1.debian.tar.gz.
tar xf tar xf cairo_1.8.10-2ubuntu1.debian.tar.gz will yield a folder debian/patches.
Inside are : 04_lcd_filter.patch and 06_Xlib-Xcb-Hand-off-EXTEND_PAD-to-XRender.patch.
Install packages needed to compile :
As root : apt-get install build-essential devscripts fakeroot
apt-get build-dep cairo
Make a folder in your home directory where all the work gets done :
mkdir source && cd source Inside source : mkdir cairo-patches cairo
Move these three patches from above to folder cairo-patches :
cairo-respect-fontconfig.patch
06_Xlib-Xcb-Hand-off-EXTEND_PAD-to-XRender.patch
04_lcd_filter.patch
Getting source and patching :
cd cairo
apt-get source cairo
cd ./cairo-*
cp ../../cairo-patches/* ./debian/patches/
patch -p1 -i ./debian/patches/cairo-respect-fontconfig.patch
patch -p1 -i ./debian/patches/04_lcd_filter.patch
patch -p1 -i ./debian/patches/06_Xlib-Xcb-Hand-off-EXTEND_PAD-to-XRender.patch
Modify the changelog :
dch -i
A text editor will open ( in my case nano ) and write something after the asterisk (*) :
Additional lcd filter patches
Save and close.
Compile packges and copy it to debs folder:
dpkg-buildpackage -rfakeroot -us -uc
Move one folder up : cd ..
The one we need : libcairo2_1.8.10-6.1_amd64.deb ( in my case on a amd64 )
As root : dpkg -i libcairo2_1.8.10-6.1_amd64.deb
Enable the lcd filter :
<!-- lcdnone, lcddefault, lcdlight, lcdlegacy -->
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
My complete .fonts.conf
Do I need to patch libcairo2 1.10.2-1 the same way you did with version 1.8.10-6? Or it is already patched?
ReplyDeleteThanks
No need to patch version 1.10.2-1, see : http://debian-bits-and-snips.blogspot.com/2011/03/run-iceweasel-4-on-squeeze.html
ReplyDeleteThanks!!! and Thanks again!!!
ReplyDeletevery useful tip, and it works like a charm!
I wonder that this is not default in debian.
Gracias hermano. Buscando el tutorial en foros y blogs español, y nada.
ReplyDeleteÉsta es la única solución que encontré y funciona perfecto.
Eres un genio en éstas cosas. Gracias por compartirlo.
@1antares1 : Thanks for the complement. I had to go to http://nicetranslator.com/ for a translation. Here is your comment in English : "Thanks brother. Looking for the tutorial in Spanish blogs and forums, and nothing. This is the only solution I found and it works perfect. You are a genius at these things. Thanks for sharing."
ReplyDeleteAfter reading and reading and searching. The only method that worked for me, along with the patch sources and fontconfig (many who had the net) was this ....
ReplyDeleteIndeed, a big hello and thanks for putting this tutorial. I just had to cross the "antialias" - hintfull, for firefox I see perfect.
Greetings brother, perfect and complete tutorial.
r@ngf ~/source/cairo/cairo-1.10.2 $ patch -p1 -i ./debian/patches/06_Xlib-Xcb-Hand-off-EXTEND_PAD-to-XRender.patch
ReplyDeletepatching file src/cairo-xcb-surface.c
Hunk #1 FAILED at 844.
1 out of 1 hunk FAILED -- saving rejects to file src/cairo-xcb-surface.c.rej
patching file src/cairo-xlib-surface.c
Hunk #1 FAILED at 1424.
1 out of 1 hunk FAILED -- saving rejects to file src/cairo-xlib-surface.c.rej
r@ngf ~/source/cairo/cairo-1.10.2 $
@Anonymous
ReplyDeleteNo need to patch version 1.10.2-1, see : http://debian-bits-and-snips.blogspot.com/2011/03/run-iceweasel-4-on-squeeze.html
I want to apply a patch to libxft in Debian Squeeze
ReplyDeleteHow to impose these patches ?
Please !
+ I want to apply a patch to freetype in Debian Squeeze
ReplyDeleteHow to impose these patches ?
Please !
Ask your question in the Debian forum ( forums.debian.net ). Enough people to help you.
Delete