LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   How to Optimize Fonts in Slackware (https://www.linuxquestions.org/questions/slackware-14/how-to-optimize-fonts-in-slackware-640468/)

shadowsnipes 05-30-2008 04:05 PM

Quote:

Originally Posted by Carpo (Post 3167899)
i am aware of what patches do and how to patch, just the patch in the first post and the one from the one i posted seem to have the same name and be for the same package and although are similar in many areas there are some differences, i was asking would there be any difference in using the patch in the first post or the one on the freetype site

Of course there would be a difference unless it the changes are just spacing or coding style.

I wasn't questioning whether or not you understand what patches do and how to use them. Rather, I was asking if you really looked at the differences of the contents between the two patches concerned and knew how to interpret those differences (ie. read code).

onebuck 05-30-2008 10:18 PM

Hi,

Good post!

I placed a link in 'Slackware-Links'. More than just SlackwareŽ links!

markluocanada 06-03-2008 07:49 PM

WOW,

What a huge difference! I literally cannot get my eyes off the screen.

Thanks.
Mark

Daedra 06-19-2008 06:08 AM

Quote:

Originally Posted by Su-Shee (Post 3167250)
Our beautiful font stuff seems to have consequences with the use of Firefox 3.

I don't know how the usual Slack package was compiled when it came to FF2, but as FF3 obeys GTK theming from now on, it relies (even more) on GTK/Cairo/Pango/Freetype and therefore on our patched font stuff.

The binary FF3 (RC1) seems to be linked statically; I just built it from source, linking against my own cairo (the patched version). The sources have all stuff needed included, but you can configure FF with --enable-system-cairo to avoid using their included version. (Or patch theirs...)

If everything works font-wise BUT the firefox 3 binary, you'll probably have to compile. (Works perfectly fine on Slack 12, have no 12.1 yet...)

Haven't seen a Slackware FF3 package yet to verify all this, but the self-compiled version looks now as I want it to.

Great heads-up Su-Shee, I just ran into this problem tonight. After I saw your post and after a little researching I updated and patched Cairo to 1.6.4 and compile firefox from source with --enable-system-cairo and everything is back to the way it should be. So for everyone else reading A quick low down on whats going on with firefox 3.

Firefox 3 uses it's own internal version of cairo bypassing the one that we patched and installed that is why firefox 3 will look different than other programs in slackware, similiar to openoffice which uses its own internal font rendering. You can fix this by recompiling firefox 3 with the option I stated above. Also this isn't relevant at this moment (but it might be later) but to compile firefox 3 from source it requires Cairo < 1.6.0. I am experimenting with some things right now, I will report back when I got some more info.

symatic 06-20-2008 12:34 PM

Quote:

libXft - http://webpages.charter.net/daedra/l...type-like.diff
(I have read around that this might not be needed for desired results, but I used it anyway)
Rebuilding the above package was a must for me. Upgraded to the latest freetype for good measure. I couldn't figure out how to patch the newer cairo-1.6.4(most likely my error). If anyone has, can you give a little code help.

Also I would really like to use openoffice, but the fonts are terrible and I'm not sure how to go about fixing that. The same goes for firefox(which also looks terrible and double loads for some reason). I guess I would have to compile from source, but I have been reading about doing that and I am a bit lost. Any success with building any of those programs, possibly a little howto:)

Daedra 06-20-2008 05:12 PM

Quote:

Originally Posted by symatic (Post 3190438)
Rebuilding the above package was a must for me. Upgraded to the latest freetype for good measure. I couldn't figure out how to patch the newer cairo-1.6.4(most likely my error). If anyone has, can you give a little code help.

Also I would really like to use openoffice, but the fonts are terrible and I'm not sure how to go about fixing that. The same goes for firefox(which also looks terrible and double loads for some reason). I guess I would have to compile from source, but I have been reading about doing that and I am a bit lost. Any success with building any of those programs, possibly a little howto:)

Are you using firefox 3, Probably tonight or tomorrow I am going to update the howto with instructions on how to get the fonts working correctly with firefox 3.

symatic 06-20-2008 05:34 PM

I had firefox 3 for a bit, the fonts were hurting my eyes. Also that double loading(that is what it appears is happening), So I went back to the good old 2. Samething with openoffice, I decided to stick with koffice until I figure out how to patch it.

Daedra 06-20-2008 08:56 PM

Quote:

Originally Posted by Su-Shee (Post 3145990)
Ah, my favorite font stuff. :)

The old Turner-cairo-patch works btw. also on cairo 1.6.4; I just changed the dirname in the patch.

I use the exact same patches and dpi resolution, just with "hintstyle" "hintfull" instead of "hintmedium".

Same forum's screenshot

Screenshot of "terminal" window (Xfce's xterm) with Unicode in "less" (FVWM).

Hey Su-Shee, I am experimenting with somethings over here and I got firefox 3.0 compiled and working fine, but a quick questions I tried taking turners original patch and just editing the dirname like you did, but not all of the hunks succeeded 4 out of 10 failed, how did you get the old patch to work with cairo-1.6.4? There is a guy over at arch linux who is maintaining the patch now, but in order for it to work you also have to patch fontconfig or use fontconfig-2.6.0. I am basically just testing to see that this is really necessary of if the old patch can still work without patching fontconfig or using fontconfig-2.6.0. Not a huge deal just curious

symatic 06-21-2008 12:14 PM

Okay, I just settled with this. Well at least for right now. I upgraded cairo and freetype to there most current versions. I didn't patch them and only enabled BCI in freetype. I used the patched libXft package from above. It is very readable and it is not hurting my eyes as of yet.

Also on a side note: The double loading can be eliminated by right clicking on the firefox icon and select configure firefox button. Go to Application, then advanced options and uncheck launch feedback. Since it doesn't try to load twice from the command line it had to be from the launcher.

dugan 06-21-2008 05:06 PM

Quote:

Originally Posted by Daedra (Post 3189145)
Also this isn't relevant at this moment (but it might be later) but to compile firefox 3 from source it requires Cairo < 1.6.0.

I'm trying to build Firefox 3 right now. It says the exact opposite:

Quote:

./configure --enable-application=browser --enable-system-cairo
checking for cairo >= 1.6.0 freetype2 fontconfig... Requested 'cairo >= 1.6.0' but version of cairo is 1.4.14
configure: error: Library requirements (cairo >= 1.6.0 freetype2 fontconfig) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
Did you mean Cairo >= 1.6.0?

Daedra 06-21-2008 08:30 PM

Quote:

Originally Posted by dugan (Post 3191336)
I'm trying to build Firefox 3 right now. It says the exact opposite:



Did you mean Cairo >= 1.6.0?

Opps, lol. Yeah sorry bout that. There is updated patches out for cairo 1.6.4 I am going to upload them with an updated howto very soon.

Daedra 06-21-2008 09:40 PM

Firefox 3 HOWTO
 
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

dugan 06-21-2008 10:25 PM

The Cairo 2.6.4 patch at http://aur.archlinux.org/packages.php?ID=16459 works with Fontconfig 2.4.

Daedra 06-21-2008 11:05 PM

Really? because when I applied the cairo patch all my GTK+ apps were not displaying correctly, it was only when I compiled the newest fontconfig and added the lines to my .fonts.conf file did it finally work, but if it works without it that wold definitely be a lot easier.

dugan 06-21-2008 11:21 PM

Hmmm... the patch I just mentioned must have been for something else. I tried applying it, and I didn't get the font smoothing I was expecting.


All times are GMT -5. The time now is 10:40 PM.