True Type fonts and XFree86Jim Weeks wrote in to tell us about true type fonts under X. He told me about this back in May, but I’m only just getting around to posting the message. Sorry. And thanks Jim.
Note: I have made some changes to Jim’s text. Any mistakes are therefore mostly likely mine.
Note: Previous versions of this article referred to port 7100, which is incorrect. This mistake has been fixed by referring to port 7101 instead.
Installing the XfStt portThe following operation requires root access.
The easiest way to use TrueType (*.ttf) fonts in FreeBSD/XFree86 is to first install XfStt from the ports collection. This port is found under X11-servers (/usr/ports/x11-servers/Xfstt/). See Installing a port without installing the ports or Installing all the ports for more information about installing a port. But in short, you do this:
cd /usr/ports/x11-servers/Xfstt/ make install
Getting the fontsOnce that port is installed, you need to create the directory /usr/X11R6/lib/X11/fonts/TrueType which is where XfStt looks for fonts. Next, you should populate the directory with fonts. TrueType (*.ttf) fonts are easily found and several are even available for download on the Microsoft web site. One way to get the fonts is to zip the font directory on that old MS Windows machine before you reformat the drive for FreeBSD. If you are lucky enough to have the old machine on a local network you may want to ftp the fonts over to your FreeBSD machine.
These are also good spots.
Check also the FAQ for xfstt for a list of sites (if you’ve done a make clean, you can get the FAQ back by doing this: .
tar zxvf /usr/ports/distfiles/xfstt-1.1.tar.gz xfstt-1.1/FAQ
Once you have the fonts in your new TrueType directory you are ready to start the server.
Starting the serverYou can start it by simply typing "xfstt &" at the command prompt. You should insure that xfstt is started at boot time. This is easily accomplished by adding the following lines to a script in /usr/local/etc/rc.d. Call the script xfstt.sh, and add the following lines:
#!/bin/sh [ -x /usr/X11R6/bin/xfstt ] && /usr/X11R6/bin/xfstt & && echo -n ' XFstt'
You may also wish to customize this script based upon the man xfstt page.
Font database synchronizationThe font database will be synchronized the first time you start the server. If you wish to add fonts later you will need to stop the server and type:
to re-synchronize the database.
Tell X all about itThe last thing you need to do is make Xfree86 recognize your new fonts. In order to do this you will need to add the following line to your list of fonts in /etc/XF86Config:
where "7101" is the default port for the native FreeBSD version of XfStt. You should now be ready to start X and test your installation.
Checking that it’s all working…If you have Netscape installed you can check under Edit/Preferences/Fonts. The new fonts should now be visible in the Variable width fonts menu.
If you don’t have Netscape, you can always run xfontsel. And this will show you fonts as well:
xlsfonts | grep ttf | more