Updated 17 Dec 02001.
Struck by the lack of useful documentation on how to do this successfully, I wrote this for a Sun installation of my acquaintance. This is provided in the hope of being useful, seemed to work for me, but your litreage/100km may vary. It may work for other ports of StarOffice, but hasn't been tested extensively.
StarOffice 5.2 seems to have fixed its font install routine. It still requires extreme care to install fonts, though, and test your installation thoroughly.
StarOffice comes with a pretty graphical tool for installing new fonts which almost works correctly. Here is a method for correcting the installation technique.
Throughout this guide I will refer to directories relative to
the top level of installation. On this system it's
/opt/Office51
, so when I mention the xp3
directory
I'm really referring to /opt/Office51/xp3
; yours may
be different.
I have only had success with real Type 1 fonts; converted TrueType [however one might try to do it] fonts don't seem to work. For each font, you will need:
t1binary
to make these if you only have pfa files
The file names should match, differing only by the afm or pfb extension. Even if you have everything in order, this method may not work, and you may have to remove the fonts. Semibold and demi fonts may not appear to work, as StarOffice has only one level of boldness.
fonts/type1
,
creating it if necessary.
fonts/type1/fonts.dir
,
fonts/type1/PSres.upr
, and xp3/psstd.fonts
bin/spadmin
fonts/type1
. Select Okay and accept the
list of fonts to install.
What the above will have done is:
xp3/fontmetrics/afm
xp3/pssoftfonts
fonts/type1/PSres.upr
fonts/type1/fonts.dir
xp3/psstd.fonts
fonts/type1/fonts.dir
You'll need some familiarity with X Logical Font Descriptors (XLFD), X's way of describing font information. The main problem with StarOffice's install routine is that it confuses the font foundry with the font name if the font name has a space in it. All of these font files appear with a foundry of misc and a font name of foundry font. Very few fonts (and no commercial ones) should have a foundry of misc, so the incorrect lines are easy to spot.
For example, for ITC Stone Sans, the install routine gives the line:
ss______.pfb -misc-itc stone sans-medium-r-normal--0-0-0-0-p-0-iso8859-1
where it should read:
ss______.pfb -itc-stone sans-medium-r-normal--0-0-0-0-p-0-iso8859-1
You can find the foundry from reading the afm file.
Most (Roman) fonts should have an XLFD ending -iso8859-1. If the file contains entries ending -iso8859, it's probably stuck an extra medium entry in the line. XLFDs should all have the same number of dash-separated fields. Non-alphabetic fonts (like pi or phonetic fonts) should have an XLFD ending with -adobe-fontspecific
Most fonts are proportional, and should have the the fourth-last field as p. With mono-spaced fonts it should be m
Semibold fonts will have the weight wrongly set to medium or bold. It should be semibold, but StarOffice doesn't seem to know/care about these.
Sometimes, the install routine just plain forgets about some mebers of a font family. Check that there's an entry for every pfb you copied.
Lastly, the first line of the fonts/type1/fonts.dir
file should be the number of font lines in the file. This is
easily worked out with the command wc -l
fonts/type1/fonts.dir
and subtracting one from the
printed result. The file should have no blank lines in it, and
each line should be unique.
xp3/psstd.fonts
Thankfully this file has a very similar format to
fonts/type1/fonts.dir
, so I'd recommend the
following technique:
fonts/type1/fonts.dir
For example, the line in fonts/type1/fonts.dir
:
ss______.pfb -itc-stone sans-medium-r-normal--0-0-0-0-p-0-iso8859-1
should appear in xp3/psstd.fonts
as:
ss______, -itc-stone sans-medium-r-normal--%d-%d-%d-%d-p-0-iso8859-1
Make sure that StarOffice can both display and print the installed fonts correctly. If not, it would be wise to remove them, as it's better not to offer a feature than to offer it and it not work.
Removing fonts is relatively simple; just delete the offending
lines from fonts/type1/fonts.dir
and
xp3/psstd.fonts
. You will also have to edit
fonts/type1/PSres.upr
, which is more complex; it
links file name with font families and display styles. Removing
whole families from this file is easy; individual entries are
more difficult. The only recommendation I can give is that the
file must end with a period on a line of its own;
otherwise, none of the PostScript fonts will display or
print correctly.