I have been experimenting and reading about firefox 3 for a few days now and I think now is a good time to update the howto so that you can get the fonts working correctly with the LCD patches.
You can see the problem here
Built in Cairo FF3
http://webpages.charter.net/daedra/1...creenshot2.png
Fixed FF3 from source
http://webpages.charter.net/daedra/1...creenshot1.png
First the problem... Firefox 3.0 ships with its own internal version of cairo that completely bypasses the one from Slackware or another distributions (if you use there precompiled binaries). So the solution is compile firefox from source. That really is not all that difficult but one problem is that you are going to need Cairo=>1.6.0 to compile it. Luckily for us there is a new maintainer of the David Turner cairo patch, the only difference is the new patch is also dependent on a patched or updated version of fontconfig (we will get to that). Ok so lets get started.
Everything from here on is info assuming that you already did the steps on page 1 and that you know how to use slackware buildscripts and apply patches and compile from source.
1) We need to download and install the newest version of cairo (1.6.4 as of this writing) here is a link to the patch
http://webpages.charter.net/daedra/1...d-filter.patch. Apply the patch and compile and install. You can just use Pat's buildscript all you need to do is edit the version number (after you patched the source). If you want save your self some time and use my package for cairo
http://webpages.charter.net/daedra/1...6.4-i486-3.tgz
2) The new version of cairo and this patch depends on a new version of fontconfig, I did some reading and it looks like now that fontconfig's newest version has built in support for LCD filters, and for some reason unlike the old patch this new one is dependent on this new version of fontconfig. there are no patches to apply you just need to upgrade to fontconfig-2.6.0, if you want to save your self some time you can use my package
http://webpages.charter.net/daedra/1...6.0-i486-2.tgz I had to tweak this package, I had to edit Pat's build script and adjust his patches to make everything work correctly, I did my best to test everything and I have had no issues here, but I want to give fair warning that I take no responsibility if your system bursts into flames
.
3) once you have the new cairo and fontconfig installed its time to compile firefox. Now I compiled this over 6 times testing different settings and configs to make sure that it works just like the one that ships with slackware. This is the best way that I found and it works. I have to give ALL the credit here to the BlueWhite64 team, as most of you know the BlueWhite64 is a 64bit port Based on Slackware. They have a Firefox 3.0 buildscript that I used to compile my firefox and it is a very good buildscript. Now like I stated above I am assuming you know how to use slackware buildscripts so I won't be explaining here how to, if you don't know how to use a build script them search the fourms and you will find many answers. Here is a link the slackware build script
http://data.bluewhite64.com/bluewhit...zilla-firefox/. Don't start yet I modified the buildscript because there is a few required changes to make this work correctly on slackware, the main changes are the architecture and enabling system cairo so we can get our fonts back. Just replace the mozilla-firefox.slackbuild file with the edited one four here
http://webpages.charter.net/daedra/1...fox.SlackBuild ok you are ready to compile once the package is made you can upgrade/install it and you should now have all three packages upgraded/installed.
UPDATE AGAIN
There is a bug in firefox 3 that causes the application panel to not properly work, this patch will fix that bug
http://webpages.charter.net/daedra/1..._panel.diff.gz The patch has been added to the buildscript so all you need to do is download the patch and the buildscript will apply it for you.
NOTE* I would like to upload my finished firefox 3 package, but according to mozilla if you compile a source version of FF with --enable-official-branding then that version comes with all logo's which are trademarked by mozilla and you need permission from them to distribute the package... and since I don't have permission and I am not sure if it is ok, I am not going to sorry
4) Last step, you need to "turn on" the LCD filtering to do this edit your .fonts.conf file in your home directory and add these lines, highlited in red
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>rgb</const>
</edit>
</match>
<match target="font" >
<edit mode="assign" name="hinting" >
<bool>true</bool>
</edit>
<edit name="autohint">
<bool>true</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> <match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
</fontconfig>
save and exit, restart X. Launch firefox and you should be good to go. Feel free to post any errors, problems, or anything I f*d up, lol.
ONE LAST NOTE*
I was trying to use one of the old cairo patches to use with the new cairo version because I had heard that they do work you just need to change the directory names to match the newer version, I wanted to see if this would work so that upgrading fontconfig would't be necessay but the above is the only way I found to make it work, if anyone has found an easier way please let us know.
Thanks