Preliminaries
Besides making font administration easier, HP's font server also has the capability to provide clients with scalable typefaces in three formats: PostScript Type 1, TrueType, and Intellifont.
Scalable typefaces are only supported via the font server. If
you want to use scalable fonts, you have to run a font server. So, first
of all, make sure you're running a font server somewhere in your network.
Then, verify that you're using it: Type xset -q and check if
your font path contains an entry like tcp/hostname:7000
. If
not, add it (using the correct host name and port) to your font path;
check the xset(1) man page for details.
Installation
-
It's sensible to store additional fonts separate from the standard fonts, e.g., under
/usr/local/lib/X11/fonts
. This will be our root directory. In this directory, create a directory hierarchy similiar to the following:/usr/local/lib/X11/fonts/ | +---type1.st/ | | | +---licenses/ | | | +---products/ | | | +---typefaces/ | +----ttf.st/ | +---licenses/ | +---products/ | +---typefaces/
The top-level directory should preferably be named
type1.st
orttf.st
, in any case, according to the stlicense(1) man page, it must have the suffix.st
. Create the directorieslicenses
,products
, andtypefaces
in this directory. -
Add the top-level directory (that would be
/usr/local/lib/X11/fonts/type1.st
, for example) in the font server configuration file (/etc/X11/fs/config
on HP-UX 10.20; you can also specify a different file). -
Copy the font files (
.pfa
,.pfb
, or.ttf
) into thetypefaces
directory. The extensions of the font files must be those listed above, and they must be in lowercase. -
Use
stmkdirs(1)
to create afont.dirs
file. For example, if you have the directory structure outlined above, your current working directory is/usr/local/lib/X11/fonts
, and you want to install the fonts in ttf.st/typefaces, type stmkdirs ttf.st/typefaces. -
Copy the newly created
font.dirs
file into theproducts
directory (under a different name), e.g., cp typefaces/fonts.dir products/local (if you have fonts to which different licenses apply, it's useful to put them into different files in theproduct
directory). -
Change out of the top-level directory and type:
stlicense -v -fp ttf.st -pr local +STSYSTEM
(
+STSYSTEM
makes the fonts available to all machines on the network; check your font licenses if you're allowed to do this, and stlicense(1) on how to specify other licensing schemes.) -
Send the font server a USR1 signal, e.g.,
# ps -e | grep xfs 23461 ? 0:44 xfs # kill -s usr1 23461
-
Check with
fslsfonts
if the fonts are there, e.g.,$ fslsfonts -server hostname:7000 -fn '*-monotype*' -mono-monotypecom-medium-r-normal--0-0-0-0-m-0-hp-roman8 -mono-monotypecom-medium-r-normal--0-0-0-0-m-0-iso8859-1 -mono-monotypecom-medium-r-normal--0-0-0-0-m-0-platform.1-specific.0 -mono-monotypecom-medium-r-normal--0-0-0-0-m-0-platform.3-specific.1
Relevant man pages: xfs(1), stmkdirs(1), stlicense(1M).
Some notes on HP-UX 9
The procedures outlined above basically work for HP-UX 9, too.
However, the fontserver is called fs
and could only
render scalable typefaces in Type 1 and Intellifont format, not
TrueType. Since X in HP-UX 9 is based on X11R5, the
fslsfonts
utility isn't included; you'd need to build
it yourself. (Thanks to Christopher
Blencowe for information on HP-UX 9.)
What else?
The above is only a rough outline. HP's font server also supports on-the-fly reencoding of fonts, which should also be described here. I'll add more information when I have the time.