On Sat, 2002-06-22 at 17:28, Vik Olliver wrote:
> OK, so the abuse is coming from me. I've got 500 fonts
> in my XF86config file which look fine and dandy in the
> Gimp.
>
> But I only get a couple of dozen in Abiword or
> StarOffice.
>
> Anyone got any clues as to why?
Short Version.
X sux when it comes to fonts.
Medium Version.
You need to tell Abiword and StarOffice where the font
metric and glyph files (*.pfa, *.pfb, *.afm, and *.ttf)
are. No files, no fonts. (I don't know how to do
this, sorry :( )
Long Version.
To create a printout of a document you need to know the
size and baseline for each glyph (character). This
information is part of the *.ttf file or held in a
separate metric (*.afm, or *.tfm) file. When you ask X
to write some text to the screen, you give it a font
name, a window, and a string to write. X will go off
by itself and find out what each glyph looks like and
the metric information, without involving your program,
and then draw the string onto the screen. It can send
back a bitmap, if you ask it, of what the text looks
like.
This is just fine if you are, say, a clock, terminal,
or bitmap editor because you do not have to print out
the text or alter the resolution of the bitmap. If
you are trying to print out the text this system is a
complete, utter, and total arse because the system that
you use to render the printout (PostScript, as God
intended) is different from the system you use to
render the display. To render the PostScript you need
the original font-file (*.pfa or *.pfb) and the metric
file so you can go through the process of placing the
text onto the page correctly. You cannot get this
information from X, so the programs have to be told
separately.
Just to be pleasant, each program has a completely
different way of getting this information. So to
install a font on X you have to add it to X,
StarOffice, Abiword, Gnumeric, Sketch, TeX,
GhostScript... All the programs have different file
formats, installer programs, data-files, the works.
Normally everyone gives up and uses the True PostScript
fonts (Times, Palatino, Courier, Helvetica, Avant
Garde, Zaph Chancery, and Zaph Dingbats with a few
different slants and weights). To be called PostScript
all printers have to have these fonts installed, so
most programs can be confident that the system will
have these fonts somewhere.
The real solution is to use a rendering system that
is the same for the screen as well as paper. Sun's
defunct NeWS system used PostScript, NeXT used
PostScript, Apple's Aqua uses PDF, Berlin
http://www.berlin-consortium.org/
uses GhostScript (which is almost, but not quite,
PostScript), and Windows� requires all fonts to be in
TTF format if it is going to even look at using them.
(MacOS < X used Adobe Font Manager to sort out its
PostScript fonts.)
This will never happen for X. We just have to through
our hands up and hope like hell that someone, such as
http://freedesktop.org/ can sort the mess out and
create some sort of "Metric and Glyph" server.
--
Michael JasonSmith http://www.cosc.canterbury.ac.nz/~mpj17/