|
Packit |
f0e7df |
Troubleshooting GNU FreeFont
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
So your text looks lousy, although you installed FreeFont and you seem to be
|
|
Packit |
f0e7df |
using it. What do you do?
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Before you blame the problem on FreeFont, take the time to double-check that
|
|
Packit |
f0e7df |
the text you are looking at is really rendered with FreeFont.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Be aware that not all Unicode characters are supported by FreeFont, and
|
|
Packit |
f0e7df |
even characters supported by one face, such as Serif, might not be
|
|
Packit |
f0e7df |
supported by other faces such as Sans.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Also, some systems have settings that strongly affect the rendering
|
|
Packit |
f0e7df |
of fonts. It may be worth tweaking these.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
glyph substitution
|
|
Packit |
f0e7df |
==================
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
When given the task of displaying characters in text, modern font rendering
|
|
Packit |
f0e7df |
software usually tries to display *something*, even if the font it is
|
|
Packit |
f0e7df |
*supposed* to be using does not contain glyphs for all the characters in the
|
|
Packit |
f0e7df |
text. The software will snoop through all the fonts on the system to find
|
|
Packit |
f0e7df |
one that has a glyph for the one missing in the desired font. So although
|
|
Packit |
f0e7df |
you have specified FreeSans-bold, you may be looking at a letter from quite
|
|
Packit |
f0e7df |
a different font.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
First double-check that the font in question really contains the character
|
|
Packit |
f0e7df |
in question. If you don't have font development software, this can be
|
|
Packit |
f0e7df |
tricky. In the case of FreeFont, you can check if a given character
|
|
Packit |
f0e7df |
range is supported: <http://www.gnu.org/software/freefont/coverage.html>
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Next double-check that your application (web browser, text editor, etc)
|
|
Packit |
f0e7df |
has indeed been properly instructed to use the font.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Then double-check that the font is really installed in the system.
|
|
Packit |
f0e7df |
(This depends on the operating system, of course.)
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Linux and Unix
|
|
Packit |
f0e7df |
==============
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Modern Linux systems use a system called fontconfig, which maintains a font
|
|
Packit |
f0e7df |
cache, for efficiency.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
The font cache can really complicate font installation and troubleshooting
|
|
Packit |
f0e7df |
however. It can happen that when a font is newly installed, what is
|
|
Packit |
f0e7df |
displayed is coming out of an old cache entry rather than the new font.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Just what to do depends on how and where the font was installed.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Fonts installed system-wide are usually put in a directory such as
|
|
Packit |
f0e7df |
/usr/share/fonts/
|
|
Packit |
f0e7df |
the font cache for these might be in
|
|
Packit |
f0e7df |
/var/cache/fontconfig/
|
|
Packit |
f0e7df |
Fonts installed just for one user account will typically be in
|
|
Packit |
f0e7df |
~/.fonts/
|
|
Packit |
f0e7df |
and the cache will be
|
|
Packit |
f0e7df |
~/.fontconfig/
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
You can clean your local cache merely by emptying the directory
|
|
Packit |
f0e7df |
~/.fontconfig/
|
|
Packit |
f0e7df |
In any case, to clean the cache, you can use the fontconfig command
|
|
Packit |
f0e7df |
fc-cache -vf
|
|
Packit |
f0e7df |
If run as root, it will clean the system cache, if run as a normal user,
|
|
Packit |
f0e7df |
it cleans only the normal user's cache.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
The procedure for local fonts is:
|
|
Packit |
f0e7df |
1) shut off any program using the fonts in question
|
|
Packit |
f0e7df |
2) clean the cache
|
|
Packit |
f0e7df |
3) re-start the program
|
|
Packit |
f0e7df |
The procedure for system-wide fonts is:
|
|
Packit |
f0e7df |
1) log out of the X Windows session
|
|
Packit |
f0e7df |
2) in a console, clean the cache
|
|
Packit |
f0e7df |
3) log in to an X Windows session
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
LibreOffice / OpenOffice
|
|
Packit |
f0e7df |
========================
|
|
Packit |
f0e7df |
These products have their own font rendering libraries, which have
|
|
Packit |
f0e7df |
idiosyncratic behavior.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
It has recently been reported that as of LibreOffice 3.5.1, font features
|
|
Packit |
f0e7df |
are disabled for OpenType fonts. If you use FreeFont with these products,
|
|
Packit |
f0e7df |
you may want to install the TrueType versions of the fonts.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Windows
|
|
Packit |
f0e7df |
=======
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
The most common complaint has to do with "blurry text". There are two
|
|
Packit |
f0e7df |
causes.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
The first is that ClearType smoothing is turned off. The best way to check
|
|
Packit |
f0e7df |
is to use the native Windows Web browser. Do a search for "ClearType Tuner".
|
|
Packit |
f0e7df |
The Microsoft pages install a tuner for ClearType. A security block notice
|
|
Packit |
f0e7df |
will appear at the top of the window--you have to allow the installation.
|
|
Packit |
f0e7df |
Then check the box "Turn on ClearType". The change happens immediately.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
The secont cause is that the FreeFont version with cubic spline outlines is
|
|
Packit |
f0e7df |
installed. As of the 2012 GNU FreeFont release, the TrueType builds have
|
|
Packit |
f0e7df |
quadratic splines, which work best with Windows' rendering software.
|
|
Packit |
f0e7df |
TTF (TrueType) quadratic splines Windows 7, Vista, Windows XP.
|
|
Packit |
f0e7df |
OTF (OpenType) cubic splines Linux, Mac
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
Note also: Firefox has a setting for ClearType:
|
|
Packit |
f0e7df |
gfx.font_rendering.cleartype_params.rendering_mode
|
|
Packit |
f0e7df |
A value of 2 sets it to old-style GDI rendering, while -1 is the default.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
reporting problems
|
|
Packit |
f0e7df |
==================
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
If you really think you're seeing a bug in FreeFont, or if you have
|
|
Packit |
f0e7df |
a suggestion, consider opening a problem report at
|
|
Packit |
f0e7df |
https://savannah.gnu.org/bugs/?group=freefont
|
|
Packit |
f0e7df |
It is best that you make a Savannah account and log in with that, so
|
|
Packit |
f0e7df |
you can be e-mailed whenever changes are made to your report.
|
|
Packit |
f0e7df |
|
|
Packit |
f0e7df |
$Id: troubleshooting.txt,v 1.10 2011-07-16 08:38:06 Stevan_White Exp $
|