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
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?
Report a bug: http://qa.openoffice.org/issue_handling/project_issues.html /Per Jessen, Zürich -- http://www.spamchek.com/freetrial - sign up for your free 30-day trial now!
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?
Times New Roman is an MS font, badly adhering to the standards. I work with a Mac, where it also causes problems. My suggestion would be to substitute Times New Roman with Times. SH
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@sbcglobal.net SuSE 9.1 Linux 2.6.5
Chris, Thanks for that information. More below... On Saturday 29 January 2005 18:25, Chris Carlen wrote:
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.
Font hinting for low (72-96) and medium (300-600) resolution display devices is absolutely critical to getting good font rendering. It's far from an esoteric optimization whose effects are discernable only to font designers and graphic artists. It's critical for making text display readable without eyestrain. Shall we intone about the onerous consequences of software patents?
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.
Thank god there are so many of us who really like blurry font rendering...
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.
It's not really about being demanding. All the subtlety of font design is not about some kind of frivolity and / or "art" (though font design is surely an art), but in fact about the practical aspects of the human visual system. It's really quite fascinating and there are many counter-intuitive facts about how human perception relates to text rendering, and this knowledge goes back hundreds of year, and is quite independent of computer or non-paper display technologies.
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.
The real consequence of poor font rendering is usually eye strain and / or difficulty in reading. To be sure, good font design (producing both attractive and readable fonts) is not easy. Low resolution display (anything less than 1000 dpi) adds considerably to the challenge of good text rendering.
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.
"It's always something." -- Roseanne Roseannadanna
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!
Thanks again. If I find enough free time, I may well try to get proper font hinting on my system. Stop Software Patents!
-- _____________________ Christopher R. Carlen
Randall Schulz
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Randall R Schulz wrote: | Chris, | | Thanks for that information... <huge snip> I'll second that, one. Really, Christopher, thank you! |>Good day! It is /now/ ... :-) - - Carl - -- C. E. Hartung Business Development & Support Services http://www.cehartung.com/ carlh@cehartung.com Dover Foxcroft, Maine, USA 04426 PGP: 0x68396713 Reg. Linux User #350527 http://counter.li.org/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) iD8DBQFB/E9Busxgymg5ZxMRAvzmAJsFtUo3GpQWjvy2IP4Wy1edrLzxLACfcb67 bsQZ3xQquHs2Oy1/WNTE3I0= =IM3W -----END PGP SIGNATURE-----
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
On Saturday 29 January 2005 9:25 pm, Chris Carlen wrote: the
printed documents.
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.
Thanks a bunch for posting all of this useful and enlightening information. Paul
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@sbcglobal.net SuSE 9.1 Linux 2.6.5
On Saturday 29 January 2005 9:25 pm, Chris Carlen wrote:
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.
Which package, exactly, is the one containing freetype2.spec? Paul
On Sunday 30 January 2005 05:25 pm, Paul W. Abrahams wrote:
On Saturday 29 January 2005 9:25 pm, Chris Carlen wrote:
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.
Which package, exactly, is the one containing freetype2.spec?
Paul
For your info.... I made this change... and I didn't like the results at all and have since gone back to the distributed freetype2. Maybe I didn't have something match up right, but it didn't look good and I do have truetype fonts installed. YMMV freetype2-2.1.9-3 src package.
Bruce Marshall wrote:
On Sunday 30 January 2005 05:25 pm, Paul W. Abrahams wrote:
Which package, exactly, is the one containing freetype2.spec?
Paul
For your info.... I made this change... and I didn't like the results at all and have since gone back to the distributed freetype2. Maybe I didn't have something match up right, but it didn't look good and I do have truetype fonts installed.
YMMV
freetype2-2.1.9-3 src package.
You didn't forget to delete /usr/X11R6/lib/modules/fonts/libfreetype.so and put a symlink there to /usr/lib/libfreetype.so? Because if you did you'd still have the old library in X Windows. I noticed that the Palatino font in OOo (that printed downright ugly) has much better kerning with the byte code interpreter enabled. Best regards, -- Jos van Kan www.josvankan.tk
On Monday, January 31, 2005 09:18 am, Jos van Kan wrote:
You didn't forget to delete /usr/X11R6/lib/modules/fonts/libfreetype.so and put a symlink there to /usr/lib/libfreetype.so?
Why would one need to do this, assuming: 1. You used rpmbuild to expand the source rpm 2. used an editor to edit the spec file to enable the bytecode feature 3. used rpmbuild to build a new rpm with the bytecode feature enabled 4. Installed the new rpm with YaST ? -- _________________________________________________________ A Message From... L. Mark Stone Reliable Networks of Maine, LLC "We manage your network so you can manage your business." 477 Congress Street Portland, ME 04101 Tel: (207) 772-5678 Web: http://www.rnome.com
L. Mark Stone wrote:
On Monday, January 31, 2005 09:18 am, Jos van Kan wrote:
You didn't forget to delete /usr/X11R6/lib/modules/fonts/libfreetype.so and put a symlink there to /usr/lib/libfreetype.so?
Why would one need to do this, assuming:
1. You used rpmbuild to expand the source rpm 2. used an editor to edit the spec file to enable the bytecode feature 3. used rpmbuild to build a new rpm with the bytecode feature enabled 4. Installed the new rpm with YaST
? One probably wouldn't. It was in one of the README's though and it certainly won't hurt. And if you shortcut one of your assumptions it may be necessary.
Best regards, -- Jos van Kan www.josvankan.tk
On Monday 31 January 2005 09:18 am, Jos van Kan wrote:
YMMV
freetype2-2.1.9-3 src package.
You didn't forget to delete /usr/X11R6/lib/modules/fonts/libfreetype.so and put a symlink there to /usr/lib/libfreetype.so?
Because if you did you'd still have the old library in X Windows.
I noticed that the Palatino font in OOo (that printed downright ugly) has much better kerning with the byte code interpreter enabled.
I probably did since it wasn't mentioned in the OP notes about it. Will try it all again since it is not a big deal to switch. Thanks.
On Monday 31 January 2005 09:18 am, Jos van Kan wrote:
Bruce Marshall wrote:
On Sunday 30 January 2005 05:25 pm, Paul W. Abrahams wrote:
Which package, exactly, is the one containing freetype2.spec?
Paul
For your info.... I made this change... and I didn't like the results at all and have since gone back to the distributed freetype2. Maybe I didn't have something match up right, but it didn't look good and I do have truetype fonts installed.
YMMV
freetype2-2.1.9-3 src package.
You didn't forget to delete /usr/X11R6/lib/modules/fonts/libfreetype.so and put a symlink there to /usr/lib/libfreetype.so?
Because if you did you'd still have the old library in X Windows.
I noticed that the Palatino font in OOo (that printed downright ugly) has much better kerning with the byte code interpreter enabled.
Best regards, -- Jos van Kan www.josvankan.tk
I did the above and things look a lot better (in Kmail for example) but now OO (1.1.4, not the SuSE version) looks really bad. Of course it's not using TT fonts so I don't think it's doing any AA'ing...
Bruce Marshall wrote:
I did the above and things look a lot better (in Kmail for example) but now OO (1.1.4, not the SuSE version) looks really bad. Of course it's not using TT fonts so I don't think it's doing any AA'ing...
The acid test for correct font rendering is to turn off anti-aliasing and then evaluate their appearance. The pixelated fonts should look symmetric and not rough. This is best viewed on an LCD. Once it is verified that the hinting is done right, then turn on anti-aliasing if desired. Understand, the bytecode interpreter is NOT needed for antialiasing, only proper hinting using the font's embedded bytecodes. The antialiased fonts do look "tighter" though, with the bytecode interpreter, so it improves antialiased display as well. Be certain also that subpixel hinting is operating correctly, for Trinitron and LCD displays. Subpixel hinting is really cool. It tightens up the appearance of the fonts considerably as well. Oh, OpenOffice can't use subpixel hinting, as of Suse 9.1 and it's Suse compiled OOo package. This sucks for antialiasing fans. I turn off my antialiasing in OOo, because it looks too blurry without subpixel hinting. Regarding OpenOffice: In the past versions, it was possible to use a command like:
LD_PRELOAD=/usr/lib/libfreetype.so soffice&
to get OOo to use the system's recompiled Freetype library, which would make OOo display TTF fonts properly. I notice that I don't have this preload in my OOo application field in my KDE icon right now, but I know that my OOo is using the good libfreetype.so . So perhaps it isn't necessary to do this with Suse's OOo, but a vanilla OOo from OO.org might benefit from this. Back in the 1.0.x versions of OOo this was explained somewhere on their site. Note also: OOo is wierd. Sometimes after you recompile Freetype, OOo still renders fonts poorly. It seems it does some internal caching (or maybe it has something to do with the linker, I dunno) and until it decides to start over, the recompiled lib's effects aren't seen. The only solution I've found is to restart OOo a few times. If it loads again real quickly, probably the effects of the new Freetype won't be seen. If it loads like it's loading for the first time, then the new Freetype will be working. Loading another large program before restarting OOo can help with this, which is also why I suspect it may have something to do with the linker/loader rather than OOo itself. Good day! -- ____________________________________ Christopher R. Carlen Principal Laser/Optical Technologist Sandia National Laboratories CA USA crcarle@sandia.gov
On Monday 31 January 2005 03:57 pm, Christopher Carlen wrote:
Bruce Marshall wrote:
I did the above and things look a lot better (in Kmail for example) but now OO (1.1.4, not the SuSE version) looks really bad. Of course it's not using TT fonts so I don't think it's doing any AA'ing...
The acid test for correct font rendering is to turn off anti-aliasing and then evaluate their appearance. The pixelated fonts should look symmetric and not rough.
This is best viewed on an LCD.
Once it is verified that the hinting is done right, then turn on anti-aliasing if desired.
Understand, the bytecode interpreter is NOT needed for antialiasing, only proper hinting using the font's embedded bytecodes. The antialiased fonts do look "tighter" though, with the bytecode interpreter, so it improves antialiased display as well.
Be certain also that subpixel hinting is operating correctly, for Trinitron and LCD displays. Subpixel hinting is really cool. It tightens up the appearance of the fonts considerably as well. Oh, OpenOffice can't use subpixel hinting, as of Suse 9.1 and it's Suse compiled OOo package. This sucks for antialiasing fans. I turn off my antialiasing in OOo, because it looks too blurry without subpixel hinting.
Regarding OpenOffice:
In the past versions, it was possible to use a command like:
LD_PRELOAD=/usr/lib/libfreetype.so soffice&
to get OOo to use the system's recompiled Freetype library, which would make OOo display TTF fonts properly.
I notice that I don't have this preload in my OOo application field in my KDE icon right now, but I know that my OOo is using the good libfreetype.so . So perhaps it isn't necessary to do this with Suse's OOo, but a vanilla OOo from OO.org might benefit from this. Back in the 1.0.x versions of OOo this was explained somewhere on their site.
Note also:
OOo is wierd. Sometimes after you recompile Freetype, OOo still renders fonts poorly. It seems it does some internal caching (or maybe it has something to do with the linker, I dunno) and until it decides to start over, the recompiled lib's effects aren't seen.
The only solution I've found is to restart OOo a few times. If it loads again real quickly, probably the effects of the new Freetype won't be seen. If it loads like it's loading for the first time, then the new Freetype will be working. Loading another large program before restarting OOo can help with this, which is also why I suspect it may have something to do with the linker/loader rather than OOo itself.
Good day!
Lots of good information there... thanks!! One question: When I had OO running with the recompiled freetype2, it showed all of its fonts in the font list as 'AA' but I lost the use of Arial (a favorite) and probably some others. Arial just wasn't in the list. Which made me think that something in the setup was wrong. I did find some fonts which looked ok but maybe most were just strange to me because I don't normally use them. All of this was viewed on an LCD. Firefox fonts looked pretty good, Kmail fonts were good I guess but I ended up with a different set again than what I was used to. Will play with it some more.....
Bruce Marshall wrote:
One question: When I had OO running with the recompiled freetype2, it showed all of its fonts in the font list as 'AA' but I lost the use of Arial (a favorite) and probably some others. Arial just wasn't in the list. Which made me think that something in the setup was wrong. I did find some fonts which looked ok but maybe most were just strange to me because I don't normally use them.
My Arial is Ok on 9.1 with default OOo. -- ____________________________________ Christopher R. Carlen Principal Laser/Optical Technologist Sandia National Laboratories CA USA crcarle@sandia.gov
Jos van Kan wrote:
You didn't forget to delete /usr/X11R6/lib/modules/fonts/libfreetype.so and put a symlink there to /usr/lib/libfreetype.so?
Because if you did you'd still have the old library in X Windows.
I noticed that the Palatino font in OOo (that printed downright ugly) has much better kerning with the byte code interpreter enabled.
Best regards,
Huh, I never even noticed that one. Oddly, I have the original /usr/X11R6/lib/modules/fonts/libfreetype.so still in place, but it seems the ones in /usr/lib override it. At least on 9.1 Also, in the past it was necessary to use an LD_PRELOAD for OpenOffice to get it to use the system's libfreetype rather than the one built in to OOo. This doesn't seem necessary on 9.1 with its OOo version. Good day! -- ____________________________________ Christopher R. Carlen Principal Laser/Optical Technologist Sandia National Laboratories CA USA crcarle@sandia.gov
participants (10)
-
Bruce Marshall
-
Carl E. Hartung
-
Chris Carlen
-
Christopher Carlen
-
Jos van Kan
-
L. Mark Stone
-
Paul W. Abrahams
-
Per Jessen
-
Randall R Schulz
-
Sjoerd