Mailinglist Archive: opensuse (3901 mails)

< Previous Next >
Re: [SLE] Intercharacter spacing in OpenOffice
  • From: Chris Carlen <crobc@xxxxxxxxxxxxx>
  • Date: Sat, 29 Jan 2005 18:25:53 -0800
  • Message-id: <41FC45B1.1010803@xxxxxxxxxxxxx>
Paul W. Abrahams wrote:
I've noticed that the intercharacter spacing of OpenOffice documents is not calculated correctly for the on-screen display, even though it is OK in the printed documents. A specific case in point is the display of Times New Roman. Antialiasing appears to be on, since when I temporarily turned it off the characters themselves looked pretty bad. The font help at OpenOffice.org has nothing that I can find on this issue. Any suggestions?

Paul

Few people know about the real cause of this or its fix. The cause is as follows:

The freetype library is what renders truetype fonts. For patent reasons, Suse cannot ship this library compiled with the "bytecode interpreter" turned on. This is what is necessary to properly render the fonts using a technique known as hinting.

To work around this, the smart folks at the freetype project designed an "autohinter" which attempts to give the same quality of results at the real bytecode interpreter, but without using the bytecodes which are the hinting clues in the font which are what enable the rendering code to arrange the pixels on a grid so that the font looks symmetrical and "nice". Without hinting, the font looks "klunky" or "rough."

The fact is, the autohinter just cannot look as good as the real bytecode interpreter. That is why Suse sets up OOo with antialiasing turned on. The blurring of the fonts hides the fact that the hinting is not done very well. When you turn off antialiasing, you see the problem. This is a serious problem for folks who use flat panels, and who don't like the blurred fonts.

Interestingly, if the bytecode interpreter is enabled, and antialiasing is still used, together with subpixel hinting, then the results are simply stunning. The resulting display looks truly professional.

I am one of the demanding few who thinks that if Linux distributers cannot find a solution to this problem and get that bytecode interpreter turned on by default, then professionals like myself who don't have philosophical but only practical motivations to use Linux, will simply find it unacceptable.

The fact is, without antialiasing, the font display sucks. It even sucks with antialiasing, once you have seen what it looks like with the bytecode interpreter. This affects all of KDE and other GUI apps which use TTF fonts, not just OOo.

To use the bytecode interpreter, you must recompile freetype. Unfortunately, if you use the vanilla freetype and try to simply replace the lib in the Suse system, things will break. You must use the Suse source package.

Inside the package is a file freetype2.spec that explains what you must edit in that file before compiling to get the bytecode interpreter. Notice that this might violate patents. So whether you can do it depends on legal factors beyond my understanding. I emailed Apple to request info on paying whatever royalties to get a license to use the bytecode interpreter, and they didn't respond. Interpret that as you will (pun intended).


Good day!



--
_____________________
Christopher R. Carlen
crobc@xxxxxxxxxxxxx
SuSE 9.1 Linux 2.6.5

< Previous Next >
References