Some time ago I asked for some advice concerning miserable fonts on clients. I 
got a few hints, but it took some months until I eventually discovered _my_ 
solution, which may work for you too. Maybe someone here is interested?

I know I should add that to the wiki, but I hope to find some peer review 
before ...

1 - False X-Resolution
type "xdpyinfo |grep dim" in a xterm (konsole). I disovered that I got 1280 x 
960 on my 17 inch display, although I set X_MODE_0 = 1280 x 1024. This lead 
of course to some ugly stretching, as a TFT needs exactly the correct 
resolution. To repair that, I had to add X_HORZSYNC = "60-70" in the 
client-section of the corresponding machines in the lts.conf. 


2 - Uneven Resolution
type "xdpyinfo | grep resolution" in a xterm (konsole) on a client. I got some 
uneven results like 76x72 (or so, don't remember). When I played around to 
change this, I discovered that one get much better fontsize (and maybe even 
smoother fonts) on a 17 inch display with 96x96 dpi. I don't know how to make 
this right (you probably need to introduce some new variables for lts.conf), 
but I used an ugly hack, which worked for me (careful, read the warning, 
YMMV): 
Look for 'section "Monitor" ' in the file build_x4_cfg and add "DisplaySize 
337.5 270" right before EOF. 

Warning: This sets all 17 inch displays to 96x96 DPI, and it worked for me. 
But this a private household with just 3 clients, and all have 17 inch 
displays. I don't know what happens on different hardware (smaller or bigger 
displays). 
And: If you update ltsp, this entry will most likely be overwritten.


3 enable bytecode interpreter (TrueType native hinter) in freetype2

Disclaimer: This may be illegal in some countries (due to - stupid? - 
software-patents), but until now this gives you crisp fonts even without AA 
at least in europe (hope that legal situation stays here). 

There is just a small change in the freetype2-sources. Open the file 
"include/freetype/config/ftoption.h". Locate the line that says:
          #undef TT_CONFIG_OPTION_BYTECODE_INTERPRETER
and change it to:
          #define TT_CONFIG_OPTION_BYTECODE_INTERPRETER
Then compile the thing. This has of course to be done within the ltsp build 
environment. Well, it should at least ... but I downloaded the source-rpm 
(freetype2-2.1.9-3.src.rpm) from suse 9.2, which is installed on my server, 
installed it (rpm -Uvh freetype2-2.1.9-3.src.rpm), 
edited /usr/src/packages/SPECS/freetype2.spec (remove the comment character 
in front of the '%patch100' line) to get the resulting line "%patch100 -p 1 
-b .bytecode". Then I compiled with rpmbuild -bb freetype2.spec and installed 
the resulting binry-RPM on the server (which has no effects on the clients, 
but read on). 
Since Suse 9.2 uses the same X.org-version like ltsp4.1, I dared to copy the 
libfreetype-files in usr/lib to /opt/ltsp41/i386/usr/lib (backup old files 
before, then check the links to the libs!). 
This worked for me ... If it fails in your setting, copy back the 
libfreetype2-backups and try compiling in the ltsp build environment.


Alfred


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_____________________________________________________________________
Ltsp-discuss mailing list.   To un-subscribe, or change prefs, goto:
      https://lists.sourceforge.net/lists/listinfo/ltsp-discuss
For additional LTSP help,   try #ltsp channel on irc.freenode.net

Reply via email to